[英]In a WordPress template, how can I detect if the current page is the WooCommerce cart or checkout page?
當用戶在 WooCommerce 購物車或結帳過程中時,我想隱藏一個 header 橫幅。 是否有一個標志或變量可以檢查以查看當前頁面是否在這些 WooCommerce 部分中的任何一個中? 我基本上想做以下事情:
if (!is_checkout() && !is_cart()) {
echo "<div>My Banner</div>";
}
我意識到我可以為每個部分制作自定義頁面模板,但我只想在我的全球站點 header 中添加一些簡單的代碼。
如果您想使用 wordpress function,這里有 `is_page('name')' 供您使用。https://developer.wordpress.org/reference/functions/is_page/
您需要使用頁面的名稱(page slug)。 在示例中,我假設它們被稱為“購物車”和“結賬”。
if (.is_page('cart') &&.is_page('checkout')) {... }
正如 mujuonly 的回答一樣,您也可以使用 woocommerce 為您提供的條件標簽。
如果您遇到 woocommerce 函數的問題或想繼續使用 wordpress 函數,我的回答可能是另一種選擇。
請注意is_checkout()
如果您提前需要它(我認為在加載模板之前)它是無用的,並且如果過早調用它會在結帳頁面上錯誤地返回 false 。
像這樣的東西更普遍:
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 檢查是否結帳”中也排名第一
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.