显示添加到购物车的登录用户only..woocommerce

问题描述:

一直在用这个代码隐藏价格..显示添加到购物车的登录用户only..woocommerce

add_filter('woocommerce_get_price_html','members_only_price'); 
function members_only_price($price){ 
if(is_user_logged_in()){ 
    return $price; 
} 
else return '<a href="' .get_permalink(woocommerce_get_page_id('myaccount')). '">Login</a> or <a href="'.site_url('/wp-login.php?action=register&redirect_to=' . get_permalink()).'">Register</a> to see price!'; 
} 

试图修改它使用隐藏添加到购物车作为well..but无济于事.. 有人吗?

你有没有试过类似的东西?当用户登录时,你会设置woocommerce,只显示价格

add_filter('catalog_visibility_alternate_price_html', 'my_alternate_price_text', 10, 1); 
function my_alternate_price_text($content) { 
    return '<a href="' .get_permalink(woocommerce_get_page_id('myaccount')). '">Login</a> or <a href="'.site_url('/wp-login.php?action=register&redirect_to=' . get_permalink()).'">Register</a> to see price!'; 
} 

参考:http://docs.woothemes.com/document/catalog-visibility-options/

编辑:

参考材料有车的知名度参考

add_filter('catalog_visibility_alternate_add_to_cart_button', 'my_alternate_button', 10, 1); 

function my_alternate_button($content) { 

    return '<a href="' .get_permalink(woocommerce_get_page_id('myaccount')). '">Login</a> or <a href="'.site_url('/wp-login.php?action=register&redirect_to=' . get_permalink()).'">Register</a> to see cart!'; 

} 
+1

感谢answer..my代码适用于隐藏价格未记录in..i只是需要一些隐藏添加到购物车对于非登录用户以及用户.. – Parm 2013-05-13 21:32:09

+0

试过了。 ..我猜想,只有当我购买woocommerce的目录可见性扩展时,过滤器才会工作..谢谢,虽然.. – Parm 2013-05-14 01:02:41

扩展上面的代码(感谢Ewout),以下代码将摆脱所有woocommerce产品上的所有价格和“添加到购物车”按钮,如以及为什么提供解释。我需要一个提供直销产品的网站的代码,并遵守其规则,我无法向公众显示价格。

将过滤器添加到您主题的functions.php文件中。

add_filter('woocommerce_get_price_html','members_only_price'); 

function members_only_price($price){ 

if(is_user_logged_in()){ 
return $price; 
} 

else { 
remove_action('woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart'); 
remove_action('woocommerce_single_product_summary', 'woocommerce_template_single_price', 10); 
remove_action('woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30); 
remove_action('woocommerce_after_shop_loop_item_title', 'woocommerce_template_loop_price', 10); 
return 'Only <a href="' .get_permalink(woocommerce_get_page_id('myaccount')). '">Registered Users</a> are able to view pricing.'; 
    } 

} 

怎么样CSS?

button.add-to-cart { 
    display: none; 
} 

body.logged-in button.add-to-cart { 
    display: block; 
}