从产品类别中排除最近查看的产品小部件中的Woocommerce产品

Kolawole伊曼纽尔·伊兹

我试图找出如何从Woocommerce的“最近查看的产品小部件”中排除类别中的产品。

我知道可以使用以下代码从商店页面中删除/隐藏类别中的产品

function custom_pre_get_posts_query( $q ) {
    $tax_query = (array) $q->get( 'tax_query' );
    $tax_query[] = array(
           'taxonomy' => 'product_cat',
           'field' => 'slug',
           'terms' => array( 'machine' ), // Don't display products in the machine category on the shop page.
           'operator' => 'NOT IN'
    );
    $q->set( 'tax_query', $tax_query );
}
add_action( 'woocommerce_product_query', 'custom_pre_get_posts_query' );

我想知道如何从最近查看的产品小部件中排除“机器类别”中的产品。(我正在使用搜索功能来自动建议商店中提供的商品,并且它允许用户查看在存档页面/类别页面中隐藏的商品),所以我想从最近查看的商品小部件中排除商品用户是否能够通过搜索访问产品。

我已使用此代码将类别中的产品排除在搜索结果中,从而可以按预期工作,但问题是自动建议仍然可以显示从查询中排除/隐藏的产品

function hello_pre_get_posts( $query ) {
   if ( $query->is_search() ) {
       $query->set( 'post_type', array( 'product' ) );
       $tax_query = array( array(
               'taxonomy' => 'product_cat',
               'field'   => 'slug',
               'terms'   => 'machine',
               'operator' => 'NOT IN',
           ),
       );
       $query->set( 'tax_query', $tax_query );
    }
}
add_action( 'pre_get_posts', 'hello_pre_get_posts' );

非常感谢您提供有关如何从“最近查看的产品”小部件中排除查看的产品的帮助。

LoicTheAztec

您需要使用woocommerce_recently_viewed_products_widget_query_args专用的滤清器钩子

// Exclude products in recently viewed products widget from "machine" product category
add_filter( 'woocommerce_recently_viewed_products_widget_query_args', 'custom_recently_viewed_products_widget_query_args', 10, 1 );
function custom_recently_viewed_products_widget_query_args( $args ) {

    $args['tax_query'][] = array(
           'taxonomy' => 'product_cat',
           'field'    => 'slug',
           'terms'    => array( 'machine' ), 
           'operator' => 'NOT IN', 
    );

    return $args;
}

代码进入您的活动子主题(或活动主题)的function.php文件中。经过测试和工作。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

从WooCommerce中的“相关产品”中排除产品类别

Woocommerce:产品类别小部件

从Woocommerce相关产品中排除产品类别

从WP_Query中排除WooCommerce产品类别

从Woocommerce循环中排除产品类别

如何从woocommerce的功能中排除产品类别?

从循环短代码 Woocommerce 中排除产品类别

从 WooCommerce 产品类别小部件中删除父类别和子类别

从Woocommerce类别下拉小部件中禁用某些产品类别

从Woocommerce档案库中的自定义显示按钮中排除产品类别

在我的WooCommerce相关产品小部件中排除特定类别

在Woocommerce中检查产品类别的产品

woocommerce产品类别窗口小部件禁用父类别链接

从WordPress全球搜索结果中排除woocommerce产品类别

从Woocommerce的自定义动态定价中排除产品类别

从Woocommerce中的子产品类别ID获取父产品类别ID

如何在侧边栏小部件中修改和设置WooCommerce产品类别计数NUMBER的样式

从Entrada主题的特定页面上的产品类别中排除产品

更改WooCommerce产品类别标题?

woocommerce获取产品类别ID

Woocommerce的分层产品类别插件

从WooCommerce的订单项中获取产品类别ID

在Woocommerce中根据产品类别更改货币符号

在Woocommerce中基于产品类别隐藏价格

获取WooCommerce中的所有产品类别

在Woocommerce单一产品页面上排除特定的产品类别

WooCommerce在产品标题中显示产品类别

在Woocommerce中显示类别产品之后移动产品类别描述

库存产品类别