如何解决在 WooCommerce 中隐藏未登录用户的特定产品变体
我正在尝试为未登录的访问者隐藏 WooCommerce 中产品的两种变体中的一个。变体的 ID 是 139。我不知道如何将 ID(或 slug)添加到这段代码中。
<?php // Hide WooCommerce variations for non-logged-in users
function my_theme_hide_price_not_authorized() {
if ( !is_user_logged_in() ) {
// Hide variations
add_filter( 'woocommerce_variation_is_active','my_theme_disable_variation',10,2 );
}
}
add_action('init','my_theme_hide_price_not_authorized');
// Hide product variations
function my_theme_disable_variation() {
return false;
}
有人可以帮我吗?
解决方法
更新 - 要向未登录的用户隐藏特定定义的产品变体,请使用以下内容:
add_filter( 'woocommerce_variation_is_visible','hide_specific_product_variation',10,4 );
function hide_specific_product_variation( $is_visible,$variation_id,$variable_product,$variation ) {
// Here define the variation(s) ID(s) to hide
$variations_ids_to_hide = array('139');
// For unlogged user,hide defined variations
if( ! is_user_logged_in() && in_array($variation_id,$variations_ids_to_hide ) ) {
return false;
}
return $is_visible;
}
代码位于活动子主题(或活动主题)的functions.php 文件中。它应该有效。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。