首页 > 解决方案 > Wordpress,在 woocommerce 的订单中显示自定义字段

问题描述

我有最新版本的 wordpress 和 woocommerce,我尝试在我的订单中添加一些自定义字段,如下所示:

function custom_checkout_field_update_order_meta($order_id)
{
    if(!empty($_POST['DATE']))
    {
        update_post_meta($order_id, 'DATE', sanitize_text_field($_POST['DATE']));
    }
    if(!empty($_POST['HOURS']))
    {
        update_post_meta($order_id, 'HOURS', sanitize_text_field($_POST['HOURS']));
    }
}
add_action('woocommerce_checkout_update_order_meta', 'custom_checkout_field_update_order_meta');

一切正常,我可以使用此功能在管理订单中显示不同的字段:

function custom_checkout_field_display_admin_order_meta($order)
{
    ?>
    <p>
        <strong>Date :</strong><br>
        <?=get_post_meta($order->id, 'DATE', true);?>
    </p>
    <p>
        <strong>Date :</strong><br>
        <?=get_post_meta($order->id, 'HOURS', true);?>
    </p>
    <?php
}
add_action('woocommerce_admin_order_data_after_billing_address', 'custom_checkout_field_display_admin_order_meta', 10, 1);

但我想显示自定义字段,如 woocommerce 文档(在屏幕底部): 在此处输入图像描述

但我不明白这是怎么看的,我查看了“选项”复选框(在右上角),但所有选项都被选中了,我没有“自定义字段”选项,所以也许 woocommerce 会在最新的时候删除这部分版本 ?

谢谢

更新 :

对我来说,问题是因为“ACF Pro”插件删除了该复选框字段,如果您想要两者(Woocommerce 自定义字段 + ACF Pro 自定义字段),您可以将此代码片段添加到您的function.php

add_filter('acf/settings/remove_wp_meta_box', '__return_false', 20);

标签: wordpresswoocommerce

解决方案


检查screen options订单页面顶部并检查是否custom fields已检查。如果未选中自定义字段,则它将不会显示在页面上。您可以查看截图: http: //prntscr.com/vug7g8


推荐阅读