在WooCommerce中,为所有仅显示Admin的订单的发货详细信息下添加新输入字段

时间:2017-04-27 15:57:37

标签: php mysql wordpress woocommerce

我尝试了很多尝试在所有订单的送货详细信息下输入输入字段,仅显示给管理员。但是当我在互联网上浏览时,我得到的插件显示了客户和管理员的输入框。

我发现这可能有效link。但我需要知道根据此链接要更改哪些文件。

如果您认为这不起作用,请给我自己的建议。

1 个答案:

答案 0 :(得分:0)

我需要更新WooCommerce 3.0的教程,但是为了只向管理员显示数据,你只需要一些条件逻辑来测试用户是否具有正确的功能......而且WordPress碰巧有{{3}做到这一点。 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' );

这只是我教程中的一个功能,但你和其他人的功能差不多。