Php 将产品数据添加到WooCommerce管理订单预览

Php 将产品数据添加到WooCommerce管理订单预览,php,wordpress,woocommerce,backend,orders,Php,Wordpress,Woocommerce,Backend,Orders,我使用此代码在订单详细信息/编辑器中显示产品属性 add_action( 'woocommerce_admin_order_item_headers', 'custom_admin_order_items_headers', 20, 1 ); function custom_admin_order_items_headers( $order ){ echo '<th>'; echo __('Location', '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 __('Location', '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) {
        echo '<td>' . get_the_term_list( $product->get_id(), 'pa_location', '', ',', '' ) . '</td>';
    }
add_action('woocommerce_admin_order_item_headers'、'custom_admin_order_items_headers',20,1);
函数自定义\管理\订单\项目\标题($order){
回声';
回音u_('Location','woocommerce');
}
添加操作('WOOMerce\u admin\u order\u item\u values'、'我的WOOMerce\u admin\u order\u item\u values',10,3);
函数my\u-woo-commerce\u-admin\u-order\u-item\u值($product、$item、$item\u-id=null){
echo“”。获取术语列表($product->get_id(),'pa_location','','',''。'';
}
它似乎可以工作,但管理面板中有一个错误:

致命错误:未捕获错误:在null上调用成员函数get_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) {
    // Only for "line_item" items type, to avoid errors
    if( ! $item->is_type('line_item') ) return;
    
    echo '<td>' . get_the_term_list( $product->get_id(), 'pa_location', '', ',', '' ) . '</td>';
}
add_action('woocommerce_admin_order_item_values'、'my_woocommerce_admin_order_item_values',10,3);
函数my\u-woo-commerce\u-admin\u-order\u-item\u值($product、$item、$item\u-id=null){
//仅适用于“行项目”项目类型,以避免错误
如果(!$item->is_type('line_item'))返回;
echo“”。获取术语列表($product->get_id(),'pa_location','','',''。'';
}
代码进入活动子主题(或活动主题)的functions.php文件。测试和工作

相关的: