请求在WordPress账户订单详情页显示WooCommerce自定义字段值
在WooCommerce订单详情页展示自定义下单字段
步骤1:确认自定义字段的Meta Key
先确定你下单时添加的自定义字段对应的Meta Key:
- 若通过WooCommerce结账字段钩子(如
woocommerce_checkout_fields)添加,Meta Key一般是billing_xxx或shipping_xxx格式(xxx为你定义的字段名) - 其他方式添加的字段,可在后台订单编辑页的「自定义字段」区域找到对应Key
步骤2:添加代码实现展示
将以下代码添加到Divi子主题的functions.php文件中,或用「Code Snippets」插件添加代码片段(推荐用插件,避免主题更新丢失代码):
add_action( 'woocommerce_order_details_after_order_table', 'display_custom_order_fields_on_order_details', 10, 1 ); function display_custom_order_fields_on_order_details( $order ) { // 替换为你的自定义字段Meta Key与对应显示名称,可添加多个 $custom_fields = array( 'custom_field_key_1' => '字段名称1', 'custom_field_key_2' => '字段名称2', // 继续添加更多字段... ); echo '<section class="woocommerce-order-custom-fields">'; echo '<h2 class="woocommerce-order-custom-fields-title">下单自定义信息</h2>'; echo '<table class="woocommerce-table woocommerce-table--custom-fields shop_table shop_table_responsive">'; foreach ( $custom_fields as $key => $label ) { $field_value = $order->get_meta( $key ); if ( ! empty( $field_value ) ) { echo '<tr>'; echo '<th>' . esc_html( $label ) . '</th>'; echo '<td>' . wp_kses_post( $field_value ) . '</td>'; echo '</tr>'; } } echo '</table>'; echo '</section>'; }
代码说明
- 钩子
woocommerce_order_details_after_order_table会在订单详情页的订单表格后插入内容 $custom_fields数组中,键是自定义字段的Meta Key,值是你想显示的字段名称- 代码会自动过滤空值,只展示有内容的字段
- 采用WooCommerce原生类名,确保和Divi主题样式兼容
样式调整(可选)
若需调整显示样式,可将以下CSS添加到Divi主题的「主题选项 > 自定义CSS」中:
.woocommerce-order-custom-fields { margin-top: 2em; } .woocommerce-order-custom-fields-title { font-size: 1.2em; margin-bottom: 1em; } .woocommerce-table--custom-fields th { width: 30%; }
内容的提问来源于stack exchange,提问作者LesCa
相关产品推荐
相关产品推荐

