如何为WooCommerce订单页面(管理员)添加自定义字段?

时间:2014-06-12 08:16:43

标签: wordpress woocommerce

我想在WooCommerce / Wordpress中为订单添加一些输入字段。这些字段仅在管理页面上可见。怎么做?和页面/帖子一样吗?

对于上面的帖子类型,我使用 add_post_meta 。它是最好的方式,还是订单字段的钩子?

2 个答案:

答案 0 :(得分:10)

是的,只需add_meta_box()到帖子类型shop_orderproceed as normal

add_action( 'add_meta_boxes', 'add_meta_boxes' );

function add_meta_boxes()
{
    add_meta_box( 
        'woocommerce-order-my-custom', 
        __( 'Order Custom' ), 
        'order_my_custom', 
        'shop_order', 
        'side', 
        'default' 
    );
}
function order_my_custom()
{
    echo '<h1>Sample meta box</h1>';
}

答案 1 :(得分:0)

因为您要特别询问WooCommerce,所以我想通过展示如何获取元框所在页面的相关brasofilo's accepted answer来扩展WooCommerce order object (WC_Order)

以下是显示订单中的帐单电子邮件的方法:

add_action('add_meta_boxes', function() {
    add_meta_box('woocommerce-order-meta-24179529',
        __( 'My Meta Box Title' ),
        function() {
            global $post;
            // wc_get_order() returns one of bool|WC_Order|WC_Order_Refund
            $order = wc_get_order($post->ID);
            if($order instanceof WC_Order) {
                echo "Billing email: ";
                echo $order->get_billing_email();
            }
        },
        'shop_order',
        'side',
        'default'
    );
});