2

我正在尝试显示产品描述和变体描述:

1.在订单收到页面和电子邮件

我正在使用Woocommerce:在订单页面答案代码上显示产品变体描述。

此代码适用于 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.在购物车、迷你购物车和结帐页面中 - 我正在使用WooCommerce:还在购物车项目答案代码上显示产品变化描述

使用此行适用于 v5.3,但现在描述完全替换了产品名称,而如果将产品描述添加到产品名称中将会很有用。我该如何解决?

编辑:问题 2 已修复!

4

1 回答 1

1

$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 );
于 2021-05-15T09:27:10.107 回答