簡體   English   中英

在WooCommerce中,在所有訂單的運送詳細信息下添加新的輸入字段,僅對管理員顯示

[英]In WooCommerce Add new input field under shipping details for all orders which shows only for Admin

我嘗試了很多嘗試,以使所有訂單的運輸詳細信息下都顯示一個輸入字段,以僅顯示給管理員。 但是,當我在互聯網上瀏覽時,我得到的插件會同時顯示客戶和管理員的輸入框。

我發現此鏈接可能有效。 但是我需要知道要根據此鏈接更改哪些文件。

如果您認為這行不通,請給我您自己的建議。

我需要為WooCommerce 3.0更新該教程,但是為了僅向管理員顯示數據,您只需要一些條件邏輯來測試用戶是否具有正確的功能...而WordPress恰好具有current_user_can()來做到這一點。 manage_plugins是一種您可以測試的功能,通常只有管理員才能擁有,因此應達到您的目的。

// display the extra data in the order admin panel
function kia_display_order_data_in_admin( $order ){ 
    if( current_user_can( 'manage_plugins' ) { ?>
    <div class="order_data_column">
        <h4><?php _e( 'Extra Details', 'woocommerce' ); ?></h4>
        <?php // get the order id with backcompatibility
            $order_id = defined( 'WC_VERSION' ) && version_compare( WC_VERSION, $version, '>=' ) ? $order->get_id() : $order->id;
            echo '<p><strong>' . __( 'Some field' ) . ':</strong>' . get_post_meta( $order_id, '_some_field', true ) . '</p>';
            echo '<p><strong>' . __( 'Another field' ) . ':</strong>' . get_post_meta( $order_id, '_another_field', true ) . '</p>'; ?>
    </div>
<?php }
}
add_action( 'woocommerce_admin_order_data_after_order_details', 'kia_display_order_data_in_admin' );

這只是我在本教程中擁有的功能之一,但是其他功能幾乎相同。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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