【发布时间】:2021-04-17 12:16:09
【问题描述】:
【问题讨论】:
-
通常我们希望您在问题中提供您自己的真实代码尝试。由于有一些现有代码作为官方 WooCommerce 代码 sn-p (但有错误),因此我异常地回答了下面的问题。其他更详细的方法(但更复杂)需要您在问题中尝试真正的代码。
标签: php wordpress woocommerce custom-fields orders
【问题讨论】:
标签: php wordpress woocommerce custom-fields orders
从this WooCommerce snippet找到Customizing checkout fields using actions and filters(这里有一点错误),试试下面的:
/**
* Display field value on the order edit page
*/
add_action( 'woocommerce_admin_order_data_after_billing_address', 'my_custom_checkout_field_display_admin_order_meta', 10, 1 );
function my_custom_checkout_field_display_admin_order_meta($order){
echo '<p><strong>'.__('My Field').':</strong><br>' . get_post_meta( $order->get_id(), 'billing_cif', true ) . '</p>';
}
您需要确保 wp_postmeta 表下的正确 meta_key 是 billing_cif,因为它也可以像 _billing_cif 一样保存。
代码位于活动子主题(或活动主题)的functions.php 文件中。它应该可以工作。
或者自 WooCommerce 3 以来以更好的方式做同样的事情:
add_action( 'woocommerce_admin_order_data_after_billing_address', 'my_custom_checkout_field_display_admin_order_meta', 10, 1 );
function my_custom_checkout_field_display_admin_order_meta( $order ){
$billing_cif = $order->get_meta('billing_cif'); // Get custom field value
if( ! empty( $billing_cif ) ) {
echo '<p><strong>'.__('CIF reference').':</strong><br>' . $billing_cif . '</p>';
}
}
代码位于活动子主题(或活动主题)的functions.php 文件中。它也应该可以工作。
【讨论】: