3 回答
TA贡献1798条经验 获得超3个赞
请注意,is_checkout()如果您提早需要它(我认为在加载模板之前),它是无用的,并且如果过早调用它,它将在结帐页面上错误地返回 false。
这样的事情更普遍:
/**
* Checks if checkout is the current page.
*
* @return boolean
*/
function better_is_checkout() {
$checkout_path = wp_parse_url(wc_get_checkout_url(), PHP_URL_PATH);
$current_url_path = wp_parse_url("http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]", PHP_URL_PATH);
return (
$checkout_path !== null
&& $current_url_path !== null
&& trailingslashit($checkout_path) === trailingslashit($current_url_path)
);
}
is_checkout() 适用于实际问题,但该问题在“WooCommerce check if checkout”方面在 Google 中也排名第一
这同样适用于购物车:
/**
* Checks if cart is the current page.
*
* @return boolean
*/
function better_is_cart() {
$cart_path = wp_parse_url(wc_get_cart_url(), PHP_URL_PATH);
$current_url_path = wp_parse_url("http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]", PHP_URL_PATH);
return (
$cart_path !== null
&& $current_url_path !== null
&& trailingslashit($cart_path) === trailingslashit($current_url_path)
);
}
TA贡献1806条经验 获得超5个赞
如果你想使用 wordpress 功能,这里有 `is_page('name')' 供您使用。
您需要使用页面的名称(页面别名)。在示例中,我假设它们被称为“购物车”和“结帐”。
if (!is_page('cart') && !is_page('checkout')) { ... }
您还可以使用 woocommerce 为您提供的条件标签。
如果您遇到 woocommerce 功能问题或想继续使用 wordpress 功能,我的回答可能是另一种选择。
- 3 回答
- 0 关注
- 140 浏览
添加回答
举报