Php 在Woocommerce中将零或空显示价格替换为自定义文本标签
我已经添加了这段代码,它适用于空的价格字段,但我也需要它来适用于0的值Php 在Woocommerce中将零或空显示价格替换为自定义文本标签,php,wordpress,woocommerce,product,price,Php,Wordpress,Woocommerce,Product,Price,我已经添加了这段代码,它适用于空的价格字段,但我也需要它来适用于0的值 add_filter('woocommerce_empty_price_html', 'custom_call_for_price'); function custom_call_for_price() { return 'Enquire'; } 以下是对显示的空的和零的价格执行此操作的完整方法,因此此代码也将替换您的实际代码(待删除) 它处理简单、可变和变化的显示价格(对于空和零显示价格): //可变和简单的
add_filter('woocommerce_empty_price_html', 'custom_call_for_price');
function custom_call_for_price() {
return 'Enquire';
}
以下是对显示的空的和零的价格执行此操作的完整方法,因此此代码也将替换您的实际代码(待删除) 它处理简单、可变和变化的显示价格(对于空和零显示价格):
//可变和简单的产品显示价格
添加过滤器('woocommerce\u get\u price\u html'、'empty\u和\u zero\u price\u html',20,2);
函数为空和零价格html($price,$product){
$empty_price=uuuuuuuu('Enquire','woocommerce');
如果($product->is_类型('variable'))
{
$prices=$product->get\u variation\u prices(true);
if(空($prices['price'])){
返回$empty_price;//get_price()|| 0==$product->get_price()){
返回$empty_price;//get_price()|| 0==$variation->get_price())
$data['price_html']=\uuuuu('inquire','woocommerce');//我已经成功地使用此代码删除了价格,只需将'inquire'替换为一个空格。是否有任何方法可以删除“添加到购物车”按钮以及价格?
// Variable and simple product displayed prices
add_filter( 'woocommerce_get_price_html', 'empty_and_zero_price_html', 20, 2 );
function empty_and_zero_price_html( $price, $product ) {
$empty_price = __('Enquire', 'woocommerce');
if( $product->is_type('variable') )
{
$prices = $product->get_variation_prices( true );
if ( empty( $prices['price'] ) ) {
return $empty_price; // <=== HERE below for empty price
} else {
$min_price = current( $prices['price'] );
$max_price = end( $prices['price'] );
if ( $min_price === $max_price && 0 == $min_price ) {
return $empty_price; // <=== HERE for zero price
}
elseif ( $min_price !== $max_price && 0 == $min_price ) {
return wc_price( $max_price );
}
}
}
elseif( $product->is_type('simple') )
{
if ( '' === $product->get_price() || 0 == $product->get_price() ) {
return $empty_price; // <=== HERE for empty and zero prices
}
}
return $price;
}
// Product Variation displayed prices
add_filter( 'woocommerce_available_variation', 'empty_and_zero_variation_prices_html', 10, 3);
function empty_and_zero_variation_prices_html( $data, $product, $variation ) {
if( '' === $variation->get_price() || 0 == $variation->get_price() )
$data['price_html'] = __('Enquire', 'woocommerce'); // <=== HERE for empty and zero prices
return $data;
}