【问题标题】:How do I list item price in woocommerce checkout and confirmation e-mails?如何在 woocommerce 结帐和确认电子邮件中列出商品价格?
【发布时间】:2019-12-07 07:03:55
【问题描述】:

Woocommerce 在结帐时显示单个商品的价格,但不在订单确认中。

我不需要它来显示新列。像($x.xx each) 之类的简单名称在项目名称之后。

我的所有定价都基于变体,因此我修改了下面的代码以显示变体描述,然后手动输入“$x.xx each”作为描述。修改它以显示价格应该很容易,但我似乎无法弄清楚。

我只需要知道如何更改$_var_description 以显示价格而不是描述。谢谢!

add_filter('woocommerce_order_item_name', 'display_product_title_as_link', 10, 2);
function display_product_title_as_link($item_name, $item)
{

    $_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();

    }
    if ($_var_description) {
        return '' . $item_name . ' (' . $_var_description . ')';
    } else {
        return '' . $item_name;
    }
}

预期结果是在订单确认中,它会显示商品名称 + 单独价格,而不是商品名称。

【问题讨论】:

    标签: php wordpress woocommerce


    【解决方案1】:

    添加下面的代码sn-p来做上面的事情-

    add_filter( 'woocommerce_order_item_name', 'add_price_in_item_title', 10, 2 );
    function add_price_in_item_title( $item_name, $item ) {
        $order = $item->get_order();
        $item_price = wc_price( $item->get_total(), array( 'currency' => $order->get_currency() ) );
        if( $item->get_total() ) {
            return $item_name . ' (' . $item_price . ')';
        } else {
            return $item_name;
        }
    }
    

    【讨论】:

    • 感谢您的回复。它接近我想要的。但是,您得到的是 TOTAL,而我想要的是单个项目的价格。如何调用个别价格?
    • 使用 $item->get_subtotal() 获取单个商品的价格。
    猜你喜欢
    • 2014-05-02
    • 2019-12-15
    • 2021-06-16
    • 2022-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-25
    • 2016-11-30
    相关资源
    最近更新 更多