php - 在 WooCommerce 收到订单页面和电子邮件上的新行中显示产品(变体)描述

标签 php wordpress woocommerce product product-variations

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

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. 在购物车、迷你购物车和结帐页面中 - 我正在使用 WooCommerce: Display also product variation description on cart items答案代码

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

编辑:问题 2 已修复!

最佳答案

要在新行上显示 $deription,您可以使用 woocommerce_order_item_meta_start 操作 Hook 与 woocommerce_order_item_name 过滤 Hook 。

所以你得到:

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 );

关于php - 在 WooCommerce 收到订单页面和电子邮件上的新行中显示产品(变体)描述,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67544411/

相关文章:

wordpress - 谁应该是 WordPress 文件和目录的所有者?

javascript - 处理在 Ajax 中更改的多个数据/参数 - Wordpress

javascript - WordPress php 下拉菜单点击即可

php - Woocommerce:添加到购物车后的自定义 jquery 事件

php - 为什么 print_r 仍然打印出一个 Json 对象?

php - Symfony findAll() 返回错误类型的结果集

php - GROUP_CONCAT 为 0 个结果返回 1 行

php - 在创建 WooCommerce 用户时使用生成的密码发送电子邮件通知

wordpress - 在商店存档页面上激活 Woocommerce 图片库功能

javascript - 根据选择显示表格/表格