Проверьте, не пуста ли корзина в 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   }
} ?>

1

Решение

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

Это проверит, чтобы увидеть, есть ли товары в корзине. При необходимости вы можете добавить оператор else или проверить эквивалентность.

0

Другие решения

В новой версии woocommerce 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
}
0

По вопросам рекламы [email protected]