Javascript 如何防止这些PHP变量被缓存在WordPress上?

Javascript 如何防止这些PHP变量被缓存在WordPress上?,javascript,php,ajax,wordpress,woocommerce,Javascript,Php,Ajax,Wordpress,Woocommerce,我在WordPress上的functions.php中使用这段代码根据访问者的位置生成附属链接,它工作得很好,但问题是如果页面缓存打开(W3 Total Cache),变量会被缓存,因此如果英国人是第一个打开页面的人,那么第二个来自德国的人打开页面,他将获得与第一个访问者相同的链接 请再说一件事,我对PHP和javascript还是很陌生,所以如果答案足够简单,我将不胜感激 add_action( 'woocommerce_before_add_to_cart_button', 'affilia

我在WordPress上的functions.php中使用这段代码根据访问者的位置生成附属链接,它工作得很好,但问题是如果页面缓存打开(W3 Total Cache),变量会被缓存,因此如果英国人是第一个打开页面的人,那么第二个来自德国的人打开页面,他将获得与第一个访问者相同的链接

请再说一件事,我对PHP和javascript还是很陌生,所以如果答案足够简单,我将不胜感激

add_action( 'woocommerce_before_add_to_cart_button', 'affiliate_link', 10);

function affiliate_link() { 
    $not_avilable_country = '<div id="amz_not_avilable" class="amz_not_avilable">This product is not avilable in your country yet</div>';

    // IP Geolocation   
    $country_code = $_SERVER ["HTTP_CF_IPCOUNTRY"];
    // Get Custom Fields
    $de_asin = get_post_meta(get_post()->ID, "wccaf_de_asin", true );
    $uk_asin = get_post_meta(get_post()->ID, "wccaf_uk_asin", true );

    //////////////////////////////////////////////

    if ($country_code=="DE" or $country_code=="DE") {
        $amazon_domain = 'https://www.amazon.de';
     // $associate_id = 'bonstato-21';
        $asin = $de_asin;
    }

    else if ($country_code=="GB" && $uk_asin!=="") {
        $amazon_domain = 'https://www.amazon.co.uk';
     // $associate_id = 'bonmedico-21';
        $asin = $uk_asin;
    }

    ///////////////////////////////////////////////

    if( wp_is_mobile() ) {

    // Amazon Link For Mobile       
    ?>
    <script>
    function amzGo(){
        window.location='<?php echo $amazon_domain ?>/dp/<?php echo $asin ?>/?tag=<?php echo $associate_id ?>';
    }
    </script>
    <?php

    } else {

    // Amazon Link For PC
    ?>
    <script>
    function amzGo(){
        window.location='<?php echo $amazon_domain ?>/gp/aws/cart/add.html?AssociateTag=<?php echo $associate_id ?>&ASIN.1=<?php echo $asin ?>&Quantity.1=1';
    }
    </script>
    <?php
    }

    ?>
    <div class="buy_amz_btn_wrap" >  
        <button type="button" id="buy_amz_btn" class="buy_amz_btn" onclick="amzGo();"><i class="fa fa-amazon fa-amz"></i><?php echo $amz_btn_title ?></button>                           
    </div>
    <?php
}
add_操作('woocommerce_前添加_至_购物车_按钮','affiliate_链接',10);
函数关联链接(){
$not_available_country='此产品在您的国家还没有上市';
//IP地理定位
$country\u code=$\u服务器[“HTTP\u CF\u IPCOUNTRY”];
//获取自定义字段
$de_asin=get_post_meta(get_post()->ID,“wccaf_de_asin”,true);
$uk\u asin=get\u post\u meta(get\u post()->ID,“wccaf\u uk\u asin”,true);
//////////////////////////////////////////////
如果($country\u code==“DE”或$country\u code==“DE”){
$amazon\u域https://www.amazon.de';
//$associate_id='bonstato-21';
$asin=$de_asin;
}
否则如果($country\u code==“GB”&&$uk\u asin!==“”){
$amazon\u域https://www.amazon.co.uk';
//$associate_id='bonmedico-21';
$asin=$uk_asin;
}
///////////////////////////////////////////////
如果(wp_是移动的()){
//亚马逊移动链接
?>
函数amzGo(){
window.location='/dp/?tag=';
}
函数amzGo(){
window.location='/gp/aws/cart/add.html?AssociateTag=&ASIN.1=&Quantity.1=1';
}

不确定它是否会工作,但您可以尝试为变量和时间戳设置一些初始值,然后使用if语句检查当前时间戳是否大于初始值,并在{}内设置变量