在商店页面 WooCommerce 中隐藏受保护产品的价格

hide the price for protected products in shop page WooCommerce

如何hide the price for protected products in shop page WooCommerce ?

要隐藏受保护产品的价格,您可以添加一个过滤器来显示价格 html 并检查产品是否受保护,方法是检查是否设置了密码,如果设置了密码 return没有价值。

add_filter( 'woocommerce_get_price_html', 'hide_protected_product_price', 10, 2 );
function hide_protected_product_price( $price, $product ) {
    if ( ! empty( $product->get_post_password() ) && ! is_single() ) {
        return '';
    }
    return $price;
}

“受保护:”是由 WordPress 添加的,而不是 WooCommerce。要将“Protected:”替换为“Reserved:”,您需要添加 protected_title_format 过滤器。为确保您只对产品执行此操作,请先检查 post_type

function jt_replace_product_protected_text( $prepend ) {
    global $post;
    
    if ( $post->post_type == 'product' ) {
        return __( 'Reserved: %s' );
    }
    return $prepend;
}
add_filter( 'protected_title_format', 'jt_replace_product_protected_text' );