为什么is_checkout()条件标签返回true不同的WooCommerce页面?



我试图使用is_checkout()作为条件来过滤WooCommerce页面上的一些值。

然而,is_checkout()对多个页面返回true,即get_checkout_order_received_url()url和其他。

当使用is_checkout()时,它在结帐页面,收到的订单(谢谢)页面和订单支付页面返回true,因为它们都属于结帐页面,但是收到的订单和订单支付页面使用特定的端点。

仅针对结帐页面使用:

if ( is_checkout() && ! is_wc_endpoint_url() ) {
// do something
}

只针对订单收到(谢谢)页面:

if ( is_wc_endpoint_url('order-received') ) {
// do something
}

只针对订单支付页面:

if ( is_wc_endpoint_url('order-pay') ) {
// do something
}

相关:WooCommerce条件标签

最新更新