2017-06-08 74 views
2

我一直在寻找无处不在,找到这个答案,甚至下载了多个插件,所有这些都没有奏效。WooCommerce隐藏某个类别的所有产品,如果没有登录

有没有办法使用PHP来实现这一点?

我有这样的代码:

<?php if(!is_user_logged_in() && get_field('___unit_price')): ?> 
<p>Unit Price: $<?php the_field('___unit_price'); ?></p> 
<?php endif; ?> 

这似乎是针对特定产品的工作,但对于整个类别不工作,任何帮助将非常appeciated

+0

你寻找“隐藏所有产品”,你在标题或仅躲说价格领域? 如果您想“隐藏某个类别的所有产品”,请查看我的答案。 – bkseen

+0

对于没有登录的用户隐藏某个类别的所有产品。 我会检查下面的解决方案,看看哪些作品,非常感谢! – user3679330

回答

1

请使用下面的功能。您儿童主题的PHP

/* hide YOURCATEGORY category for not loggedin user 
===================================================*/ 

    if (!is_user_logged_in()) { 
     function custom_pre_get_posts_q($q) { 

      $tax_query = (array) $q->get('tax_query'); 

      $tax_query[] = array(
        'taxonomy' => 'product_cat', 
        'field' => 'slug', 
        'terms' => array('YOURCATEGORY'), // Don't display products in the composite category on the shop page. 
        'operator' => 'NOT IN' 
      ); 


      $q->set('tax_query', $tax_query); 

     } 
     add_action('woocommerce_product_query', 'custom_pre_get_posts_q'); 
    } 

不要忘记用你想隐藏的类别的子弹取代'YOURCATEGORY'。

干杯

+0

两者都以不同的方式工作。 干杯家伙! – user3679330

0
add_action('init', 'bbloomer_hide_price_add_cart_not_logged_in'); 

function bbloomer_hide_price_add_cart_not_logged_in() { 
if (!is_user_logged_in()) {  
remove_action('woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart', 10); 
remove_action('woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30); 
remove_action('woocommerce_single_product_summary', 'woocommerce_template_single_price', 10); 
remove_action('woocommerce_after_shop_loop_item_title', 'woocommerce_template_loop_price', 10); 
add_action('woocommerce_single_product_summary', 'bbloomer_print_login_to_see', 31); 
add_action('woocommerce_after_shop_loop_item', 'bbloomer_print_login_to_see', 11); 
} 
} 

function bbloomer_print_login_to_see() { 
echo '<a href="' . get_permalink(woocommerce_get_page_id('myaccount')) . '">' . __('Login to see prices', 'theme_name') . '</a>'; 
} 

添加到您的functions.php文件,这为更多的检查此链接 https://businessbloomer.com/woocommerce-hide-price-add-cart-logged-users/

+0

嘿队友,感谢这一点,但我会选择从用户隐藏的类别? – user3679330

相关问题