programing

카트가 비어 있는 경우 카트 페이지는 WooCommerce의 숍 페이지로 리다이렉트됩니까?

fastcode 2023. 4. 5. 22:21
반응형

카트가 비어 있는 경우 카트 페이지는 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()->cart
  • sizeof($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

반응형