簡體   English   中英

在Woocommerce管理員訂單預覽上顯示自定義數據

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM