繁体   English   中英

Woocommerce - 从商店页面中删除可用的产品库存编号

[英]Woocommerce - Remove the available product inventory number from the shop page

在显示我的电子商务商店中所有产品的商店页面上,它当前显示产品名称旁边的产品计数(库存)编号,如下所示:

在此输入图像描述

我发现并尝试使用此代码:

add_filter( 'woocommerce_subcategory_count_html', 'woo_remove_category_products_count' );
function woo_remove_category_products_count() {
return;
}

但它不起作用,因为它删除了单个产品页面上的“仅剩5个库存”通知,而这不是我需要的。

然后我尝试使用CSS:

.count {
    display: none !important;
}

但也不起作用。

我真的希望有人有解决方案。 所有建议都非常欢迎,并感谢您的提前努力!

@ Update1:


试试这个片段代码功能(没有担保,因为未经测试) ,但从逻辑上讲它应该完成这项工作(参见下面模板的摘录)

remove_action( 'woocommerce_before_shop_loop', 'woocommerce_result_count', 20 );

或者:

add_action('init', function(){
    remove_action( 'woocommerce_before_shop_loop', 'woocommerce_result_count', 20 );
}

首先找到该计数中涉及的函数: woocommerce_result_count()

然后我找到相关的钩子:

以下是显示钩子的模板archive-product.php的摘录:

<?php
    /**
     * woocommerce_before_shop_loop hook.
     *
     * @hooked woocommerce_result_count - 20       <==== ==== ==== ==== Here @@@ !
     * @hooked woocommerce_catalog_ordering - 30
     */
    do_action( 'woocommerce_before_shop_loop' );
?>

@ update2: - 这也有效(参见update3:替代方案)


最后一次尝试基于这个旧线程(见最后) ,覆盖商店页面上的本机函数:

add_action('init', function(){
    if(is_shop()){
        function woocommerce_result_count(){
            return;
        }
    }
}

或者:

if(is_shop()){
    function woocommerce_result_count(){
        return;
    }
}

@ update3: - 其他工作解决方案(覆盖模板文件)


函数woocommerce_result_count()引用loop/result-count.php WooCommerce模板,正如您在此源提取中所看到的:

if ( ! function_exists( 'woocommerce_result_count' ) ) {

    /**
     * Output the result count text (Showing x - x of x results).
     *
     * @subpackage  Loop
     */
    function woocommerce_result_count() {
        wc_get_template( 'loop/result-count.php' );
    }
}

解决方案:

在: loop/result-count.php WooCommerce模板中,添加: || is_shop() || is_shop()if语句(第27行) ,这样:

<?php
/**
 * Result Count
 *
 ... / ...

 * @version     2.0.0
 */

if ( ! defined( 'ABSPATH' ) ) {
    exit; // Exit if accessed directly
}

global $wp_query;

// @@@ Here we avoid count on shop page <==== ==== ==== ==== ADDING " || is_shop() "…
if ( ! woocommerce_products_will_display() || is_shop() )
    return;
/*
 ... / ...

 */

这次工作有效......

参考: 通过主题覆盖模板(+模板结构)

好的,请登录wordpress并转到WooCommerce>设置>库存(标签)

然后将库存显示格式设置为永不显示库存信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM