我需要帮助,以便能够显示每个产品不同的价格后缀。目前,我发现代码显示的价格后缀根据类别,但它不能解决这个问题,因为我需要它是不同的一些产品在相同的类别。
WooCommerce回答代码中选定产品类别的自定义产品价格后缀基于类别。是否可以只针对特定产品进行更改?
以防有人想知道如何基于已经存在的代码应用这一点。
数组中的-检查数组中是否存在值
function filter_woocommerce_get_price_html( $price, $product ) {
// Set specfic product ID's
$specific_product_ids = array( 1, 2, 3 );
// Checks if a value exists in an array
if ( in_array( $product->get_id(), $specific_product_ids ) ) {
$price .= ' ' . __( 'per kg', 'woocommerce' );
}
return $price;
}
add_filter( 'woocommerce_get_price_html', 'filter_woocommerce_get_price_html', 10, 2 );
要处理多个后缀,您可以使用PHP: Switch
function filter_woocommerce_get_price_html( $price, $product ) {
// Get product ID
$product_id = $product->get_id();
// Set product ID's kg
$product_ids_kg = array( 30, 813, 815 );
// Set product ID's g
$product_ids_g = array( 817, 819, 821 );
// Checks if a value exists in an array
switch ( $product_id ) {
case in_array( $product_id, $product_ids_kg ):
$suffix = ' per kg';
break;
case in_array( $product_id, $product_ids_g ):
$suffix = ' per 500g';
break;
default:
$suffix = '';
}
// Return
return $price . __( $suffix, 'woocommerce' );
}
add_filter( 'woocommerce_get_price_html', 'filter_woocommerce_get_price_html', 10, 2 );