Wordpress woocommerce使用woo filter插件显示错误数量的结果,并隐藏缺货产品

Wordpress woocommerce使用woo filter插件显示错误数量的结果,并隐藏缺货产品,wordpress,woocommerce,Wordpress,Woocommerce,我有一个wordpress+woocommerce+\u divi主题+woof插件安装。有一个已知的错误-当我们有一些缺货的产品,但我们用woocommerce设置隐藏它们时,我们可以看到“显示xxx结果”消息,例如,在产品的分类页面上,xxx是不正确的-这是所有产品的数量,库存和缺货-而只显示库存产品。当我们不使用woof插件时,我们可以在theme functions.php中修复此代码的计数问题: add_action('woocommerce_product_query', 'fix_

我有一个wordpress+woocommerce+\u divi主题+woof插件安装。有一个已知的错误-当我们有一些缺货的产品,但我们用woocommerce设置隐藏它们时,我们可以看到“显示xxx结果”消息,例如,在产品的分类页面上,xxx是不正确的-这是所有产品的数量,库存和缺货-而只显示库存产品。当我们不使用woof插件时,我们可以在theme functions.php中修复此代码的计数问题:

add_action('woocommerce_product_query', 'fix_the_count');

function fix_the_count($query) {
$meta_query = $q->get( 'meta_query' );
$meta_query[] = array(
'key' => '_stock_status',
'compare' => '=',
'value' => 'instock'
);
$q->set( 'meta_query', $meta_query );
}
但是,当我们使用woof filtering插件时,通过将该插件的shortcode[woof_products]插入到divi builder类别布局中,该代码不起作用。插件似乎没有使用standart woocommerce\u product\u查询行为,但它的版本已更改,正如我们在插件代码的这一部分中所看到的:

public function woocommerce_product_query($q) {
        $meta_query = $q->get('meta_query');
//for extensions
        if (!empty(WOOF_EXT::$includes['html_type_objects'])) {
            foreach (WOOF_EXT::$includes['html_type_objects'] as $obj) {
                if (method_exists($obj, 'assemble_query_params')) {
                    $q->set('meta_query', $obj->assemble_query_params($meta_query, $q));
                }
            }
        }
        return $q;
    }
如果我向这个插件代码添加fix\u\u count()内容,如下所示:

public function woocommerce_product_query($q) {
        //http://docs.woothemes.com/wc-apidocs/class-WC_Query.html
        //wp-content\plugins\woocommerce\includes\class-wc-query.php -> public function product_query( $q )
        $meta_query = $q->get('meta_query');
        $meta_query[] = array(
        'key' => '_stock_status',
        'compare' => '=',
        'value' => 'instock'
);
$q->set( 'meta_query', $meta_query );
        //for extensions
        if (!empty(WOOF_EXT::$includes['html_type_objects'])) {
            foreach (WOOF_EXT::$includes['html_type_objects'] as $obj) {
                if (method_exists($obj, 'assemble_query_params')) {
                    $q->set('meta_query', $obj->assemble_query_params($meta_query, $q));
                }
            }
        }
        return $q;
    }
没有发生什么事——伯爵仍然错了。这个问题的解决方案是什么