WordPress 템플릿에서 현재 페이지가 WooCommerce 카트인지 체크아웃 페이지인지 어떻게 알 수 있습니까?
사용자가 WooCommerce 카트나 체크아웃 시 헤더 배너를 숨기고 싶습니다.현재 페이지가 WooCommerce 섹션 중 하나에 있는지 확인할 수 있는 플래그나 변수가 있습니까?저는 기본적으로 다음과 같은 것을 하고 싶습니다.
if (!is_checkout() && !is_cart()) {
echo "<div>My Banner</div>";
}
각 섹션의 커스텀페이지 템플릿을 만들 수 있지만 글로벌사이트 헤더에 간단한 코드를 추가하고 싶습니다.
카트 페이지
is_cart()
카트 페이지에서 true를 반환합니다.
체크아웃 페이지
is_checkout()
체크아웃 페이지에서 true를 반환합니다.
WooCommerce 조건부 태그에 대해 자세히 볼 수 있습니다.
주의하시기 바랍니다.is_checkout()
(템플릿을 로드하기 전에) 일찍 필요한 경우에는 무용지물입니다.또한 너무 일찍 호출하면 체크 아웃페이지에 잘못 표시됩니다.
다음과 같은 것이 보다 보편적입니다.
/**
* 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"에서도 1위를 차지합니다.
카트도 마찬가지입니다.
/**
* 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)
);
}
워드프레스 함수를 사용하고 싶다면 여기에 is_page('name')가 있습니다.https://developer.wordpress.org/reference/functions/is_page/
페이지 이름(페이지 슬래그)을 사용해야 합니다.이 예에서는 '카트', '체크아웃'이라고 합니다.
if (!is_page('cart') && !is_page('checkout')) { ... }
muju only의 응답과 마찬가지로 woocommerce가 제공하는 것을 조건부 태그와 함께 사용할 수도 있습니다.
Woocommerce 기능에 문제가 있거나 워드프레스 기능에 머무르고 싶다면 제 답변이 대안이 될 수 있습니다.
언급URL : https://stackoverflow.com/questions/61940219/in-a-wordpress-template-how-can-i-detect-if-the-current-page-is-the-woocommerce
'IT' 카테고리의 다른 글
루프에서 약속으로 변수 전달 (0) | 2023.02.10 |
---|---|
MVC 웹 API:요청된 리소스에 'Access-Control-Allow-Origin' 헤더가 없습니다. (0) | 2023.02.10 |
Woocommerce 3에서 프로그래밍 방식으로 주문에 요금 추가 (0) | 2023.02.10 |
php 정적 함수 (0) | 2023.02.06 |
실행 중인 스크립트의 상위 디렉토리 가져오기 (0) | 2023.02.06 |