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

标签 javascript php wordpress woocommerce conditional-statements

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

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

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

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

谢谢。

最佳答案

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

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);
}

经过测试并可以工作。

关于javascript - 目标结帐页面,但不是 Woocommerce 中的订单接收页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50494561/

相关文章:

php - 不同的输入文本有不同的数组

php - 使用 php 将 mysql 表导出到 csv(不选择输出文件)

javascript - 使noty通知成为可点击的超链接

javascript - Linting jsx-a11y 向 div 元素添加角色

javascript - 如何停止进一步执行 JavaScript 事件

html - 为一个重复出现的元素分配一个盒子阴影

jquery - 在 WordPress 中使用 Jquery 倒计时

javascript - 如何在不使用 Bootstrap 的情况下使隐藏/显示按钮出现在单个输入中

来自函数的 PHP 图像

php - 仅在 WooCommerce 中的特定日期销售某些产品