Я пытаюсь запустить javascript (Sweet Alert) на страницах архивных магазинов Woocommerce, чтобы выполнить только в том случае, если в корзине 5 товаров, а страница равна 'url / leanshop /'.
Моя функция добавления в корзину использует AJAX. Приведенный ниже код вроде как работает ... но я не могу заставить его срабатывать при указанных выше условиях. В настоящее время он срабатывает только каждый раз, когда товар добавляется в корзину через AJAX.
Мой код пока:
add_action( 'wp_footer', 'items_in_cart_trigger' );
function items_in_cart_trigger() {
global $woocommerce;
// Set the minimum number of products in cart
$maximum_num_products = 5;
// Get the Cart's total number of products
$cart_num_products = WC()->cart->cart_contents_count;
// Compare values and if required amount of items in cart, display popup.
if( $cart_num_products == $maximum_num_products && is_page( '/leanshop/' ) ) {
?>
<script src="https://unpkg.com/sweetalert2@7.20.1/dist/sweetalert2.all.js"></script>
<script type="text/javascript">
(function($){
$('body').on( 'added_to_cart', function(){
// Test output on JS console
console.log('added_to_cart');
// Call Sweet Alert PopUp Here
swal(
'You added all the items!',
'Proceed to checkout?',
'success')
});
})(jQuery);
</script>
<?php
}
}
UPDATE:
Javascript работает со следующим оператором is_page () IF. Таким образом, проблема заключается в логике выше, где я пытаюсь подсчитать количество товаров в корзине и посмотреть, равно ли они значению , а на странице архива магазина. Кто-нибудь может предложить правильную логику кода Woocommerce для этого?
if( is_page('leanshop')) {