php - 在 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 文件中。测试和工作。
推荐阅读
- javascript - 无法使用 Redux-saga 作为我的中间件从 React Native 中的 API 接收数据
- java - 将对象插入到已创建的实体(ManyToOne 和 OneToMany)
- python - Python MySql 循环使用了系统资源
- javascript - 需要使用node js在循环中调用两个API
- flask - 在父模型的详细信息页面中显示内联模型?烧瓶,SQLAlchemy
- c# - 如何在运行后检查用户控件上的所有复选框
- sql - 在多个存在条件下使用子查询结果
- testing - JMeter,执行顺序不正确
- elasticsearch - 现在/d elasticsearch是什么意思
- pip - pip 命令降级 jupyter notebook