programing

Woocommerce 3에서 카트가 비어 있지 않은지 확인합니다.

starjava 2023. 10. 24. 20:03
반응형

Woocommerce 3에서 카트가 비어 있지 않은지 확인합니다.

카트가 비어있는지 확인하는 방법이 뭔지 모르겠어요.내가 뭘 잘못하고 있는 거지?

내 코드:

add_action( 'wp_footer', 'redirecionar' );
function redirecionar(){
    global $woocommerce;
    if ( is_page('carrinho-de-compras') and !sizeof($woocommerce->cart->cart_contents) ) {
       // do something
    }
}    

오어

add_action( 'wp_footer', 'vazio' );
    function vazio() {
        if ( ! WC()->cart->get_cart_contents_count() == 0 ) { 
           // do something
        }
}

해결된

<?php add_action( 'wp_footer', 'vazio' );
    function vazio() {
        if ( ! WC()->cart->is_empty() ) { ?>
        <div style="width: 20%;" class="footer-section <?php echo esc_html($woo);?>">
            <a href="<?php echo 'https://my_web_page.pt/finalizar-compra';?>" title="Finalizar Compra"><i class="fa fa-credit-card"></i></a>
        </div>
    <?php   }
    } ?>
add_action( 'wp_footer', 'vazio' );
  function vazio() {
     if (sizeof( WC()->cart->get_cart() ) > 0 ) { 
       // do something
     }
   }

이것은 카트에 물건이 있는지 확인할 것입니다.필요에 따라 다른 문을 추가하거나 동등성 여부를 확인할 수 있습니다.

in new wocommerce 2.1+ : WC()->cart->cart_contents_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' ) ) );
    }
}

카트 내용을 확인하려면 다음 코드를 사용할 수도 있습니다.

global $woocommerce;
if ( $woocommerce->cart->cart_contents_count != 0 ) {
    // cart has content
} else {
   // cart is empty
}

ajax add to cart의 경우 이 내용을 JS 파일에 추가할 수도 있습니다.

$('body').on( 'added_to_cart', function(){
    if( ! $(this).hasClass('has_items') ) {
        // do something
    }
});

언급URL : https://stackoverflow.com/questions/50633717/check-if-cart-is-not-empty-in-woocommerce-3

반응형