Php 在Loop&;上隐藏添加到购物车按钮;产品页

Php 在Loop&;上隐藏添加到购物车按钮;产品页,php,woocommerce,Php,Woocommerce,我正在处理一个woocommerce主题,我需要隐藏价格为0的产品的“添加到购物车”按钮,因为这些产品可能只能查询,而不能添加到购物车。我已经成功隐藏了产品页面上的“添加到购物车”按钮,但是,我在商店页面/类别页面上很难做到这一点 下面是我过滤添加到购物车以及更改默认“免费”的代码信息 add_filter( 'woocommerce_variable_free_price_html', 'hide_free_price_notice' ); add_filter( 'woocommerce

我正在处理一个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隐藏它…

这就是我用来更改“免费”的内容将消息发送到“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';   
}