WooCommerce产品查询不适用于其他WPML语言

时间:2020-08-17 作者:Senne Vandenputte

我试图在主商店存档页面上隐藏特定产品类别中的所有Woocommerce产品(只有当客户转到特定类别存档时,产品才可见)。

下面的代码正在使用我的原始语言(荷兰语)隐藏这些产品,但不使用其他3种站点语言,尽管我还添加了它们正确的类别id。

add_action( \'woocommerce_product_query\', \'prefix_custom_pre_get_posts_query\' );
function prefix_custom_pre_get_posts_query( $q ) {
  
  if( is_shop() || is_page(\'shop\') ) { // set conditions here
      $tax_query = (array) $q->get( \'tax_query\' );
  
      $tax_query[] = array(
             \'taxonomy\' => \'product_cat\',
             \'field\'    => \'term_id\',
             \'terms\'    => array(27,952,951,1119), // set product categories here
             \'operator\' => \'NOT IN\',
      );
  
      $q->set( \'tax_query\', $tax_query );
  }
}
有人知道我如何修改这个代码片段,使其在所有语言中都能工作吗?谢谢

1 个回复
SO网友:Mathias De Beyser

我会做两件事

检查是否使用其他语言输入if语句。is\\u page(\'shop\')指的是特定的帖子/页面ID。您可以通过使用is_page( apply_filters( \'wpml_object_id\', {{orig_page_id}}, \'page\', true ) )

相关推荐