在 WooCommerce 订单接收页面和电子邮件的新行中显示产品(变体)描述
Display product (variation) description in a new line on WooCommerce order received page and emails
我正在尝试显示产品描述和变体描述:
1.在收到页面和邮件的顺序中
我正在使用 Woocommerce: Display Product Variation Description on order page 答案代码。
此代码适用于 v5.3,但现在产品数量在说明末尾移动 -> https://prnt.sc/12yc7l4。
这是我解决问题的尝试。
add_filter( 'woocommerce_order_item_name', 'display_product_title_as_link', 10, 3 );
function display_product_title_as_link( $item_name, $item ,$qty) {
$_product = get_product( $item['variation_id'] ? $item['variation_id'] : $item['product_id'] );
$link = get_permalink( $_product->id );
$_var_description ='';
if ( $item['variation_id'] ) {
$_var_description = $_product->get_variation_description();
}
return '<a href="'. $link .'" rel="nofollow">'. $item_name .'</a>'. $qty .'<br>'. $_var_description ;
}
如何应用它才能使它对产品名称和产品数量没有影响?
2. 在购物车、迷你购物车和结帐页面中 - 我正在使用 答案代码
使用此行适用于 v5.3,但现在描述完全取代了产品名称,如果将产品描述添加到产品名称中会很有用。我该如何解决?
编辑: 问题 2 已修复!
要在新行显示 $decription
,您可以使用 woocommerce_order_item_meta_start
操作挂钩与 woocommerce_order_item_name
过滤器挂钩。
所以你得到:
function action_woocommerce_order_item_meta_start( $item_id, $item, $order, $plain_text ) {
// Get product
$product = $item->get_product();
// Variation description
if ( $item['variation_id'] > 0 ) {
$description = $product->get_description();
} else {
// Product short description (for others)
$description = $product->get_short_description();
}
echo '<div>' . $description . '</div>';
}
add_action( 'woocommerce_order_item_meta_start', 'action_woocommerce_order_item_meta_start', 10, 4 );
我正在尝试显示产品描述和变体描述:
1.在收到页面和邮件的顺序中
我正在使用 Woocommerce: Display Product Variation Description on order page 答案代码。
此代码适用于 v5.3,但现在产品数量在说明末尾移动 -> https://prnt.sc/12yc7l4。
这是我解决问题的尝试。
add_filter( 'woocommerce_order_item_name', 'display_product_title_as_link', 10, 3 );
function display_product_title_as_link( $item_name, $item ,$qty) {
$_product = get_product( $item['variation_id'] ? $item['variation_id'] : $item['product_id'] );
$link = get_permalink( $_product->id );
$_var_description ='';
if ( $item['variation_id'] ) {
$_var_description = $_product->get_variation_description();
}
return '<a href="'. $link .'" rel="nofollow">'. $item_name .'</a>'. $qty .'<br>'. $_var_description ;
}
如何应用它才能使它对产品名称和产品数量没有影响?
2. 在购物车、迷你购物车和结帐页面中 - 我正在使用
使用此行适用于 v5.3,但现在描述完全取代了产品名称,如果将产品描述添加到产品名称中会很有用。我该如何解决?
编辑: 问题 2 已修复!
要在新行显示 $decription
,您可以使用 woocommerce_order_item_meta_start
操作挂钩与 woocommerce_order_item_name
过滤器挂钩。
所以你得到:
function action_woocommerce_order_item_meta_start( $item_id, $item, $order, $plain_text ) {
// Get product
$product = $item->get_product();
// Variation description
if ( $item['variation_id'] > 0 ) {
$description = $product->get_description();
} else {
// Product short description (for others)
$description = $product->get_short_description();
}
echo '<div>' . $description . '</div>';
}
add_action( 'woocommerce_order_item_meta_start', 'action_woocommerce_order_item_meta_start', 10, 4 );