php WooCommerce:如何禁用重定向,如果表是空的,以保持一个空表

uqzxnwby  于 2023-10-15  发布在  PHP
关注(0)|答案(1)|浏览(111)

我对Woocommerce很陌生,但我确实觉得这个插件很有趣,我想知道的一件事是:

  • cart-page上时,如果您要通过以下方式清空table
  • WC()->cart->empty_cart()
  • table中的foreach项:WC()->cart->set_quantity("cart_item_key_id" , 0)

您将被重定向"Cart is empty"显示屏,其中仅显示此消息。然而,table将消失,也不是DOM的一部分。

提问

如何确保table即使没有任何物品也能留在原地?或者或者,而所有文件都有一个child-theme,一个例子:your-theme/woocommerce/cart/cart.php,如何在cart-page上看到“cart is empty”消息时修改cart.php编程添加项目并重新生成table

What I tried

删除了通过remove_action( 'woocommerce_cart_is_empty', 'wc_empty_cart_message', 10 );添加到functions.php文件的woocommerce_cart_is_empty消息。
它确实删除了消息,但它没有解决问题,即table也不见了。Cart-page without the "cart is empty" message

pxiryf3j

pxiryf3j1#

尝试将此代码添加到functions.php文件中。

function disable_empty_table_redirect() {
        if (is_shop() || is_product_category() || is_product()) {
            $products = new WP_Query(array('post_type' => 'product', 'posts_per_page' => -1));
            if (!$products->have_posts()) {
                remove_action('template_redirect', 'wc_template_redirect');
            }
        }
    }
    
    add_action('template_redirect', 'disable_empty_table_redirect');

相关问题