实际上,这个问题已经回答了,因为我已经检查过了,但我无法对这个问题发表评论,因为我使用的是相同的代码,但在我的场景中,我使用的是选项字段,并且值没有反映在管理面板中,下面是我尝试的代码
//*Multiple Options Php - Select Occasion*/
add_filter( \'woocommerce_checkout_fields\' , \'my_custom_checkout_field_update_order_meta\' );
function my_custom_checkout_field_update_order_meta( $fields ) {
$fields[\'billing\'][\'myfield\'] = array(
\'type\' => \'select\',
\'id\' => \'myfield\',
\'placeholder\' => __(\'Select Occasion\', \'woocommerce\'),
\'required\' => false,
\'class\' => array(\'form-row-wide\'),
\'clear\' => false,
\'options\' => [
\'key1\' => __(\'Birthday\', \'woocommerce\'),
\'key2\' => __(\'Anniversary\', \'woocommerce\'),
\'key3\' => __(\'Congratulations\', \'woocommerce\'),
\'key4\' => __(\'Sorry\', \'woocommerce\'),
\'key5\' => __(\'Good Luck\', \'woocommerce\'),
\'key6\' => __(\'Thank You\', \'woocommerce\'),
\'key7\' => __(\'Get Well Soon\', \'woocommerce\'),
\'key8\' => __(\'Love\', \'woocommerce\'),
]
);
return $fields;
}
add_action( \'woocommerce_admin_order_data_after_billing_address\', \'edit_woocommerce_checkout_page\', 10, 1 );
function edit_woocommerce_checkout_page($order){
global $post_id;
$order = new WC_Order( $post_id );
echo \'<p><strong>\'.__(\'Occasion\').\':</strong> \' . get_post_meta($order->get_id(), \'_myfield\', true ) . \'</p>\';
}