首页 > 解决方案 > 在 WooCommerce 编辑订单页面中添加可变产品属性列

问题描述

基于在 Woocommerce答案代码中添加产品属性列以编辑订单页面,我编写了此函数:

add_action( 'woocommerce_admin_order_item_headers', 'custom_admin_order_items_headers', 20, 1 );
function custom_admin_order_items_headers( $order ){

    echo '<th>';
    echo __('Marchio', 'woocommerce') . '</th>';
}

add_action('woocommerce_admin_order_item_values', 'my_woocommerce_admin_order_item_values', 10, 3);
function my_woocommerce_admin_order_item_values($_product, $item, $item_id = null) {

    $marchio = get_the_terms( $_product->post->ID, 'pa_marchio');
    echo '<td>' . $marchio[0]->name . '</td>';
}

它适用于简单的产品,但不适用于可变产品,如何解决?


在此处输入图像描述

标签: phpwordpresswoocommerceattributesorders

解决方案


要获取产品 ID,请使用

$item->get_product_id()

你的函数应该是这样的

add_action('woocommerce_admin_order_item_values', 'my_woocommerce_admin_order_item_values', 10, 3);
function my_woocommerce_admin_order_item_values($_product, $item, $item_id = null) {

    $marchio = get_the_terms( $item->get_product_id(), 'pa_marchio');
    echo '<td>' . $marchio[0]->name . '</td>';

}

查看此帖子以获取更多信息如何访问订单在 Woocommerce 3 中访问订单项目受保护的数据


推荐阅读