【问题标题】:Target checkout page but not order-received page in WoocommerceWoocommerce中的目标结帐页面但不是订单接收页面
【发布时间】:2018-11-02 19:24:29
【问题描述】:

我以这种方式在我的functions.php 中链接了一些 .js:

if(get_query_var('pagename')==='checkout') {
    wp_enqueue_script('script', 'my.js', array('jquery'), 1.1, true);
}

my.js 是我检查某些结帐表单输入字段的地方。
现在我看到my.js 也链接在订单接收页面(这是结帐页面的“子页面”,我知道!),这会导致一些错误,因为结帐表格不再存在。

如何有条件地执行结帐页面中的某些代码,而不是订单接收的代码?

谢谢。

【问题讨论】:

    标签: javascript php wordpress woocommerce conditional


    【解决方案1】:

    尝试使用 is_checkout_pay_page() 函数:

    if(is_checkout_pay_page()) {
        wp_enqueue_script('script', 'my.js', array('jquery'), 1.1, true);
    }
    

    【讨论】:

    • 它不起作用。但是thanx,你的回答启发了我寻找正确的方向......
    【解决方案2】:

    要针对结帐页面避免“收到订单”或“订单付款”端点,请使用:

    if( is_checkout() && ! ( is_wc_endpoint_url( 'order-pay' ) || is_wc_endpoint_url( 'order-received' ) ) ) {
        wp_enqueue_script('script', 'my.js', array('jquery'), 1.1, true);
    }
    

    经过测试和工作。

    【讨论】:

      猜你喜欢
      • 2018-10-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-17
      • 1970-01-01
      • 2017-07-30
      • 2016-02-10
      • 2014-12-27
      相关资源
      最近更新 更多