目标结帐页面,但不是 Woocommerce 中的订单接收页面

j.c*_*j.c 2 javascript php wordpress conditional-statements woocommerce

我以这种方式链接一些 .js functions.php

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

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

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

谢谢。

Loi*_*tec 5

要定位结账页面,避免“收到订单”或“订单支付”端点,请使用:

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);
}
Run Code Online (Sandbox Code Playgroud)

经过测试并工作。