Answers:
幸运的是,woocommerce有很多挂钩,这消除了价格和按钮:
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 );
你可以挖成content-product.php
和content-single-product.php
,如果你需要删除更多的东西。
?>
。这不会删除购物车页面,但实际上会消除向购物车添加任何内容的可能性。如果您在任何地方都不喜欢购物车页面,则应该相对安全。
扩展以上代码(感谢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.';
}
}
3.2.1
:-)中不起作用
add_filter( 'woocommerce_is_purchasable', '__return_false' );
add_filter( 'woocommerce_get_price_html', '__return_empty_string' );
这将完全阻止结帐并通过以下方式隐藏所有价格: