将产品数据添加到 WooCommerce 管理员订单预览
Add product data to WooCommerce admin order preview
我使用此代码按顺序显示产品属性 details/editor
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>';
}
它似乎可以工作,但管理面板中出现错误:
致命错误:未捕获错误:调用成员函数 get_id() on null
帮我想想办法,我不明白为什么会这样。
为避免您的问题,您需要在第二个函数中仅定位订单“行”项目,这样:
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>';
}
代码进入活动子主题(或活动主题)的 functions.php 文件。已测试并有效。
相关:Add product short description to Woocommerce admin orders preview
我使用此代码按顺序显示产品属性 details/editor
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>';
}
它似乎可以工作,但管理面板中出现错误:
致命错误:未捕获错误:调用成员函数 get_id() on null
帮我想想办法,我不明白为什么会这样。
为避免您的问题,您需要在第二个函数中仅定位订单“行”项目,这样:
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>';
}
代码进入活动子主题(或活动主题)的 functions.php 文件。已测试并有效。
相关:Add product short description to Woocommerce admin orders preview