javascript - 如果页面等于 X 并且购物车商品数量等于 Y,则在 Woocommerce 上运行 Javascript

标签 javascript php wordpress woocommerce sweetalert

我正在尝试在 Woocommerce 存档商店页面上运行 javascript(Sweet Alert),仅当购物车中有 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/<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="75060210100114191007014735425b47455b44" rel="noreferrer noopener nofollow">[email protected]</a>/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
}
}

更新: Javascript 使用以下 is_page() IF 语句。所以问题是上面的逻辑,我试图计算购物车中的商品数量,并查看它们是否等于商店存档页面上的某个值。任何人都可以建议正确的 Woocommerce 代码逻辑来这样做吗?

if( is_page('leanshop'))    {

最佳答案

尝试:

if( $cart_num_products === $maximum_num_products && is_page( '/leanshop/' ) ) {

test for equality ,使用三重等于(当类型相同时)或双重等于(当想要强制类型时,但要小心)。

关于javascript - 如果页面等于 X 并且购物车商品数量等于 Y,则在 Woocommerce 上运行 Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50338378/

相关文章:

javascript - 这段代码有什么作用?

php - Codeigniter 查询更新所有行而不是 1

wordpress - 我怎样才能让谷歌找到我的实际网站而不是 Alexa?它与wordpress模板有什么关系吗?

Javascript 破坏 CSS 悬停

javascript - 这个 JavaScript 模式叫什么?为什么使用它?

php - 请求 Mysql 查询,带上名称和描述以及 id 号

javascript - 坚持顶部菜单差距

wordpress - 有没有办法在我的 WordPress 网站上显示 WooCommerce 迷你购物车?

javascript - 无法访问全局变量

php - 在ajax中搜索不返回带空格的结果