在WooCommerce中删除产品页面上的复合产品价格

时间:2015-04-21 23:23:13

标签: php wordpress wordpress-plugin woocommerce woothemes

希望得到一些帮助,以消除这个"添加到购物车"按钮以及显示的here定价。有关插件的文档也可以找到here

我目前在WooCommerce中删除定价的是:

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', 10 );
    remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30 );
    remove_action( 'woocommerce_simple_add_to_cart', 'woocommerce_simple_add_to_cart', 30 );
    remove_action( 'woocommerce_grouped_add_to_cart', 'woocommerce_grouped_add_to_cart', 30 );
    remove_action( 'woocommerce_variable_add_to_cart', 'woocommerce_variable_add_to_cart', 30 );
    remove_action( 'woocommerce_external_add_to_cart', 'woocommerce_external_add_to_cart', 30 );

     return 'Only <a href="' .get_permalink(woocommerce_get_page_id('myaccount')). '">Registered Users</a> are able to view pricing.';
  }
}

IIRC这是original question我能够使用代码,直到我们需要复合产品。

1 个答案:

答案 0 :(得分:0)

您的问题的解决方案是您只需要为复合类型的产品添加一个“remove_action”。

要实现此目的,您需要移除 woocommerce_composited_add_to_cart

的操作

诀窍在于,如果您搜索此操作,您将会知道使用类对象添加此操作,因此您需要使用相同的类对象删除它。

有关如何使用类对象删除操作的教程已经在您需要研究的网络上。

这肯定会帮助您实现解决方案。