【发布时间】:2021-02-01 18:44:06
【问题描述】:
我们通过以下方式在每个订单的管理订单详细信息中添加供应商信息:
现在我还想在订单预览中添加此信息。我找到了这个答案
我们将钩子更改为woocommerce_admin_order_preview_end,但现在当我们想要打开预览时什么也没发生。
我们是否必须调整整个代码以使其适用于订单预览,或者为什么我们的方法不起作用?
function action_woocommerce_admin_order_vendor_data( $order ) {
// Empty array
$shop_names = array();
// Output
echo '<strong>' . __( 'Vendor(s): ', 'woocommerce' ) . '</strong>';
// Loop through order items
foreach ( $order->get_items() as $item ) {
// Get product object
$product = $item->get_product();
// Author id
$author_id = $product->post->post_author;
// Shopname
$vendor = dokan()->vendor->get( $author_id );
$shop_name = $vendor->get_shop_name();
// OR JUST USE THIS FOR SHOPNAME
// Shop name
// $shop_name = dokan()->vendor->get( $author_id )->get_shop_name();
// NOT in array
if ( ! in_array( $shop_name, $shop_names ) ) {
// Push to array
$shop_names[] = $shop_name;
// Output
echo $shop_name . ', ';
}
}
}
add_action('woocommerce_admin_order_preview_end', 'action_woocommerce_admin_order_vendor_data', 10, 1 );
【问题讨论】:
标签: php wordpress woocommerce orders dokan