仅在没有链接产品的 WooCommerce 单个产品页面上添加价格后缀
Add price suffix only on WooCommerce single product page without linked products
我在 WooCommerce 单个产品页面上添加了价格后缀(而且只是在那里,而不是在循环中!)。
我使用以下:
add_filter( 'woocommerce_get_price_html', 'custom_price_suffix', 100, 2 );
function custom_price_suffix( $price, $product ) {
if( is_product() ) {
$price = $price . ' <small>incl. tax</small>';
}
return apply_filters( 'woocommerce_get_price', $price );
}
但是,这也为产品页面的Up-Sells添加了价格后缀(我说的不是相关产品,而是Up-Sells)。
如何排除追加销售的价格后缀?
我试过了:
if( is_product() && !$woocommerce_loop['name'] == 'up-sells' )
但是追加销售仍然显示后缀。
在您的代码中 $woocommerce_loop
未定义
不进行比较,相反,仅将其应用于空值
所以你得到:
function filter_woocommerce_get_price_html( $price, $product ) {
global $woocommerce_loop;
if ( is_product() && $woocommerce_loop['name'] == '' ) {
$price .= ' <small> incl. tax</small>';
}
//return $price;
return apply_filters( 'woocommerce_get_price', $price );
}
add_filter( 'woocommerce_get_price_html', 'filter_woocommerce_get_price_html', 10, 2 );
或使用
function filter_woocommerce_get_price_html( $price, $product ) {
global $woocommerce_loop;
if ( is_product() && $woocommerce_loop['name'] !== 'related' && $woocommerce_loop['name'] !== 'up-sells' ) {
$price .= ' <small> incl. tax</small>';
}
//return $price;
return apply_filters( 'woocommerce_get_price', $price );
}
add_filter( 'woocommerce_get_price_html', 'filter_woocommerce_get_price_html', 10, 2 );
我在 WooCommerce 单个产品页面上添加了价格后缀(而且只是在那里,而不是在循环中!)。
我使用以下:
add_filter( 'woocommerce_get_price_html', 'custom_price_suffix', 100, 2 );
function custom_price_suffix( $price, $product ) {
if( is_product() ) {
$price = $price . ' <small>incl. tax</small>';
}
return apply_filters( 'woocommerce_get_price', $price );
}
但是,这也为产品页面的Up-Sells添加了价格后缀(我说的不是相关产品,而是Up-Sells)。
如何排除追加销售的价格后缀?
我试过了:
if( is_product() && !$woocommerce_loop['name'] == 'up-sells' )
但是追加销售仍然显示后缀。
在您的代码中 $woocommerce_loop
未定义
不进行比较,相反,仅将其应用于空值
所以你得到:
function filter_woocommerce_get_price_html( $price, $product ) {
global $woocommerce_loop;
if ( is_product() && $woocommerce_loop['name'] == '' ) {
$price .= ' <small> incl. tax</small>';
}
//return $price;
return apply_filters( 'woocommerce_get_price', $price );
}
add_filter( 'woocommerce_get_price_html', 'filter_woocommerce_get_price_html', 10, 2 );
或使用
function filter_woocommerce_get_price_html( $price, $product ) {
global $woocommerce_loop;
if ( is_product() && $woocommerce_loop['name'] !== 'related' && $woocommerce_loop['name'] !== 'up-sells' ) {
$price .= ' <small> incl. tax</small>';
}
//return $price;
return apply_filters( 'woocommerce_get_price', $price );
}
add_filter( 'woocommerce_get_price_html', 'filter_woocommerce_get_price_html', 10, 2 );