Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么';内容产品wordpress中的JavaScript代码循环_Javascript_Php_Wordpress_Woocommerce - Fatal编程技术网

为什么';内容产品wordpress中的JavaScript代码循环

为什么';内容产品wordpress中的JavaScript代码循环,javascript,php,wordpress,woocommerce,Javascript,Php,Wordpress,Woocommerce,在content-product.php中 我有拍卖品 我想在拍卖结束时在商店页面显示倒数计时器 我为倒计时写脚本代码 但是脚本显示了一种产品 不适用于所有产品 <?php date_default_timezone_set("Europe/Oslo"); $auctionstatus = get_post_meta( $product->get_id(), 'mp_auction_status', true ); $clientt_tz = date("Y-

在content-product.php中

我有拍卖品 我想在拍卖结束时在商店页面显示倒数计时器

我为倒计时写脚本代码

但是脚本显示了一种产品 不适用于所有产品

<?php
    date_default_timezone_set("Europe/Oslo");
    $auctionstatus = get_post_meta( $product->get_id(), 'mp_auction_status', true );
    $clientt_tz = date("Y-m-d H:i:s");
    $auctio_time_1= $_product_meta['auction_stop_time'][0];
    if ($auctionstatus == "enabled") {
        if ($auctio_time_1 >= $clientt_tz ){
    echo  "Auction end at ";

    $js_code =<<<JS
    <script language="JavaScript">
    TargetDate = "$auctio_time_1";
    ForeColor = "#009fe3";
    CountActive = true;
    CountStepper = -1;
    LeadingZero = true;
    DisplayFormat = "%%D%% D, %%H%% T, %%M%% M, %%S%% S.";
    FinishMessage = "It is finally here!";
    </script>
    <script language="JavaScript" src="https://scripts.hashemian.com/js/countdown.js"></script>
    JS;

    echo "<br>", $js_code;

        }
        else {
            echo  "Auction end " ;

        }



    } ?>

有两个基本原因:

  • 您正在使用全局变量,这些变量将在脚本实例之间共享
  • 脚本生成具有硬编码ID的元素。ID在文档中必须是唯一的。脚本的每个实例都调用
    getElementById
    ,并找到第一个匹配的元素
  • 我重写了它,因此数据是从
    元素上的
    data-*
    属性初始化的,它使用文档中的最后一个script元素来标识插入跨度的位置(它将保留一个引用,而不是每次用gEBId搜索)

    首先

    (功能(){ const scripts=document.querySelectorAll(“脚本”); 常量脚本=脚本[scripts.length-1]; const span=document.createElement('span'); script.parentNode.insertBefore(span,script); span.textContent=script.dataset.number; 设置超时(更新,1000); 函数更新(){ 设num=parseInt(span.textContent,10); num--; span.textContent=num; 如果(数值>0){ 设置超时(更新,1000); } } }()); 第二

    (功能(){ const scripts=document.querySelectorAll(“脚本”); 常量脚本=脚本[scripts.length-1]; const span=document.createElement('span'); script.parentNode.insertBefore(span,script); span.textContent=script.dataset.number; 设置超时(更新,1000); 函数更新(){ 设num=parseInt(span.textContent,10); num--; span.textContent=num; 如果(数值>0){ 设置超时(更新,1000); } } }());
    JS必须从代码行
    的第1列开始-这是HTML 3.2。这是2018年。我们已经拥有HTML5很多年了。HTML3.2已经过时。抱歉,我是初学者如何将HTML3.2更改为HTML5抱歉,我是脚本代码初学者现在您的代码正在运行,但我如何从$auctio_time_1倒计时