根据 WooCommerce 中的产品类别隐藏未登录用户的特定产品
Hide specific products from unlogged users based in product category in WooCommerce
我有一个特定的产品类别,我只想向登录用户提供。我将如何实施?
那么如何在 WooCommerce 中对未登录的用户隐藏特定产品
我试过搜索,但它似乎是一个真正的 WooCommerce 极端案例。
以下代码仅为未登录的用户隐藏特定产品类别中的产品。您必须在代码中定义要在 'terms'
数组中排除的产品类别 SLUG:
// Hide some products from unlogged users and a specific product category
add_filter( 'woocommerce_product_query_tax_query', 'exclude_products_fom_unlogged_users', 10, 2 );
function exclude_products_fom_unlogged_users( $tax_query, $query ) {
// On frontend for unlogged users
if( ! is_user_logged_in() ){
$tax_query[] = array(
'taxonomy' => 'product_cat',
'field' => 'slug',
'terms' => array('t-shirts'), // <=== HERE the product category slug
'operator' => 'NOT IN'
);
}
return $tax_query;
}
代码进入您的活动子主题(或活动主题)的 function.php 文件。已测试并有效。
如果未登录,这将重定向用户:
if (!is_user_logged_in()) {
auth_redirect();
exit;
}
我有一个特定的产品类别,我只想向登录用户提供。我将如何实施?
那么如何在 WooCommerce 中对未登录的用户隐藏特定产品
我试过搜索,但它似乎是一个真正的 WooCommerce 极端案例。
以下代码仅为未登录的用户隐藏特定产品类别中的产品。您必须在代码中定义要在 'terms'
数组中排除的产品类别 SLUG:
// Hide some products from unlogged users and a specific product category
add_filter( 'woocommerce_product_query_tax_query', 'exclude_products_fom_unlogged_users', 10, 2 );
function exclude_products_fom_unlogged_users( $tax_query, $query ) {
// On frontend for unlogged users
if( ! is_user_logged_in() ){
$tax_query[] = array(
'taxonomy' => 'product_cat',
'field' => 'slug',
'terms' => array('t-shirts'), // <=== HERE the product category slug
'operator' => 'NOT IN'
);
}
return $tax_query;
}
代码进入您的活动子主题(或活动主题)的 function.php 文件。已测试并有效。
如果未登录,这将重定向用户:
if (!is_user_logged_in()) {
auth_redirect();
exit;
}