카트가 비어 있는 경우 카트 페이지는 WooCommerce의 숍 페이지로 리다이렉트됩니까?
WooCommerce에서는 카트 페이지가 비어 있을 때 카트 페이지를 쇼핑 페이지로 리다이렉트하고 싶습니다.그렇지 않으면 카트 페이지가 표시됩니다.누구나 해결책을 가질 수 있습니까?
사용해 본 코드는 다음과 같습니다만, 동작하지 않습니다.
function my_empty_cart() {
global $woocommerce;
if (isset( $_GET['empty-cart'] ) ) {
wp_safe_redirect( get_permalink( woocommerce_get_page_id( 'product' ) ) );
}
}
add_action( 'init', 'my_empty_cart' );
// old woocommerce : use sizeof( $woocommerce->cart->cart_contents) to check cart content count
// In new woocommerce 2.1+ : WC()->cart->cart_contents_count to check cart content count
add_action("template_redirect", 'redirection_function');
function redirection_function(){
global $woocommerce;
if( is_cart() && WC()->cart->cart_contents_count == 0){
wp_safe_redirect( get_permalink( woocommerce_get_page_id( 'shop' ) ) );
}
}
init훅은 매번 실행됩니다.사용하다template_redirect
==============Updates=============
새로운 woocommerce에서는 기능이 갱신되어 다음 기능을 사용하여 카트 콘텐츠 수를 직접 가져올 수 있습니다.
WC()->cart->cart_contents_count
2021년 갱신
WooCommerce 버전 3은 카트 페이지에 액세스하려고 할 때 다음 항목을 사용하여 쇼핑 페이지로 리디렉션하고 카트가 이미 비어 있습니다.
add_action( 'template_redirect', 'empty_cart_redirect' );
function empty_cart_redirect(){
if( is_cart() && WC()->cart->is_empty() ) {
wp_safe_redirect( get_permalink( wc_get_page_id( 'shop' ) ) );
exit();
}
}
코드는 기능합니다.php 파일(또는 활성 테마)입니다(또는 활성 테마)을 입력합니다.테스트 및 동작.
참고 - 더 이상 사용되지 않는 코드:
global $woocommerce;와 함께 사용하다.$woocommerce->cart간단히 대체되다WC()->cartsizeof($woocommerce->cart->cart_contents) == 0단순한 것으로 대체되었습니다.WC()->cart->is_empty()woocommerce_get_page_id()에 의해 대체됩니다.wc_get_page_id()
카트 페이지에서 모든 카트 항목을 제거할 때 리디렉션을 활성화하려면 몇 가지 추가 jQuery 코드가 필요합니다. WooCommerce 3+의 카트 페이지에서 카트가 비어 있는 경우 쇼핑으로 방향 수정
비슷한 게 필요해서 직접 테스트해 봤어요.
function cart_empty_redirect_to_shop() {
global $woocommerce;
if ( is_page('cart') and !sizeof($woocommerce->cart->cart_contents) ) {
wp_redirect( get_permalink( wc_get_page_id( 'shop' ) ) ); exit;
}
}
add_action( 'wp_head', 'cart_empty_redirect_to_shop' );
@Pushpak의 솔루션을 시도했지만, 더 이상 작동하지 않습니다.카트 내용을 확인하려면 다음 코드를 사용하십시오.
global $woocommerce;
if ( $woocommerce->cart->cart_contents_count != 0 ) {
// cart has content
} else {
// cart is empty
}
2018 - 25 - 9월
오늘 내 밑에서 일해:
function cart_empty_redirect_to_shop() {
global $woocommerce, $woocommerce_errors;
if ( is_cart() && sizeof($woocommerce->cart->cart_contents) == 0) {
wp_safe_redirect( get_permalink( wc_get_page_id( 'shop' ) ) );
exit;
}
}
add_action( 'template_redirect', 'cart_empty_redirect_to_shop' );
woocommerce 폴더로 이동하여 CART 폴더로 이동합니다.카트가 비어 있습니다.php
다음 항목을 찾습니다.
<p><a class="button1 btn btn-normal" href="<?php echo get_permalink.....
getpermalink(woocommerce_...)라고 써있겠죠.
간단히 그것을 로 바꾸다
<p><a class="button1 btn btn-normal" href="<?php echo get_permalink('THE PAGE ID YOU WANT TO REDIRECT TO');
그리고 삼촌을 밥으로..지정한 ID 의 페이지로 리다이렉트 됩니다.
이해가 안 되면 알려주세요.
언급URL : https://stackoverflow.com/questions/24300052/if-cart-is-empty-the-cart-page-will-redirect-to-shop-page-in-woocommerce
'programing' 카테고리의 다른 글
| 'cut' 명령을 사용하여 동일한 순차 구분 기호를 하나로 처리하려면 어떻게 해야 합니까? (0) | 2023.04.10 |
|---|---|
| 외부 데이터 로드 시 콘솔에 XHR 로드가 완료되었습니다. (0) | 2023.04.05 |
| Oracle pl-sql 이스케이프 문자(" " "의 경우) (0) | 2023.04.05 |
| JSON에서 코멘트를 사용할 수 있습니까? (0) | 2023.04.05 |
| 파라미터를 angularjs 단위로 $http로 전달하려면 어떻게 해야 합니까? (0) | 2023.04.05 |