我正在研究一个woocommerce主题,我需要隐藏购物车按钮,用于价格为0的产品,因为这些产品可能只会被查询而不会被添加到购物车中。我已经成功隐藏了产品页面上的“添加到购物车”按钮,但是,我很难在商店页面/类别页面上这样做。
以下是我的过滤添加到购物车的代码以及更改默认的“免费!”信息。
add_filter( 'woocommerce_variable_free_price_html', 'hide_free_price_notice' );
add_filter( 'woocommerce_free_price_html', 'hide_free_price_notice' );
add_filter( 'woocommerce_variation_free_price_html', 'hide_free_price_notice' );
/**
* Changes woocommerce default 'Free!' to return message
*/
function hide_free_price_notice( $price ) {
remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart', 30 );
remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30 );
return 'Please inquire for pricing';
}
我也尝试过滤循环中的所有添加到购物车按钮,但这也不起作用。
add_action( 'woocommerce_after_shop_loop_item', 'remove_add_to_cart_buttons', 1 );
function remove_add_to_cart_buttons() {
remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart' );
}
有什么建议吗?我想看看我是否可以用CSS隐藏它......
答案 0 :(得分:0)
这是我用来改变'免费!'的原因。消息到'POA'并隐藏购物车。 注意:WooCommerce V2.1上似乎存在此问题?
* Swop the 'Free!' price notice and hide the cart with 'POA' in WooCommerce
*/
add_filter( 'woocommerce_variable_free_price_html', 'hide_free_price_notice' );
add_filter( 'woocommerce_free_price_html', 'hide_free_price_notice' );
add_filter( 'woocommerce_variation_free_price_html', 'hide_free_price_notice' );
function hide_free_price_notice( $price ) {
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 );
return 'POA';
}