Woocommerce - 从商店页面

时间:2016-07-13 23:19:58

标签: php css wordpress woocommerce product

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

enter image description here

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

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

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

然后我尝试使用CSS:

.count {
    display: none !important;
}

但也不起作用。

我真的希望有人能为此解决问题。所有建议都非常欢迎,并感谢您提前做出的努力!

2 个答案:

答案 0 :(得分:1)

@ 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:替代方案)

最后一次尝试基于this old thread (see at the end),覆盖商店页面上的原生功能:

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() 声明中添加: 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;
/*
 ... / ...

 */

这次有效......

参考:Overriding Templates via a Theme (+Template Structure)

答案 1 :(得分:0)

好的,请登录wordpress,然后转到WooCommerce&gt;设置&gt;库存(标签)

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