[英]Display custom data on Woocommerce admin order preview
我想在Woocommerce訂單列表頁面的預覽訂單末尾添加一些自定義數據。
為此,我嘗試了鈎子“ woocommerce_admin_order_preview_end”。 但是無法將任何參數傳遞給該操作。
add_action( 'woocommerce_admin_order_preview_end', 'custom_display_order_data_in_admin' );
function custom_display_order_data_in_admin( $order ){
//$order is empty here
}
有人對此有想法嗎? 我一直堅持下去。
您無法獲得訂單對象,因為它是通過Ajax加載特定數據的模板,並且woocommerce_admin_order_preview_end
操作掛鈎沒有參數。
取而代之的是,過濾器掛鈎woocommerce_admin_order_preview_get_order_details
將允許您首先添加一些自定義數據,您將可以在woocommerce_admin_order_preview_end
操作掛鈎中woocommerce_admin_order_preview_end
進行調用和顯示。
編碼:
// Add custom order meta data to make it accessible in Order preview template
add_filter( 'woocommerce_admin_order_preview_get_order_details', 'admin_order_preview_add_custom_meta_data', 10, 2 );
function admin_order_preview_add_custom_meta_data( $data, $order ) {
// Replace '_custom_meta_key' by the correct postmeta key
if( $custom_value = $order->get_meta('_custom_meta_key') )
$data['custom_key'] = $custom_value; // <= Store the value in the data array.
return $data;
}
// Display custom values in Order preview
add_action( 'woocommerce_admin_order_preview_end', 'custom_display_order_data_in_admin' );
function custom_display_order_data_in_admin(){
// Call the stored value and display it
echo '<div>Value: {{data.custom_key}}</div><br>';
}
代碼進入您的活動子主題(或活動主題)的function.php文件中。 經過測試和工作。
注意:如果需要,您也可以使用
woocommerce_admin_order_preview_start
掛鈎...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.