我想在WooCommerce / Wordpress中为订单添加一些输入字段。这些字段仅在管理页面上可见。怎么做?和页面/帖子一样吗?
对于上面的帖子类型,我使用 add_post_meta 。它是最好的方式,还是订单字段的钩子?
答案 0 :(得分:10)
是的,只需add_meta_box()
到帖子类型shop_order
和proceed 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'
);
});