Php WooCommerce订单元数据显示两次,一次带下划线

Php WooCommerce订单元数据显示两次,一次带下划线,php,wordpress,woocommerce,checkout,user-data,Php,Wordpress,Woocommerce,Checkout,User Data,我继承了一个建立在Woo Commerce基础上的网站,我正在帮助一个非营利组织。我一直在解决一些问题,但在他们编辑订单时看到一些奇怪的错误 似乎所有订单计费元数据标记都会出现两次,一次带下划线,一次不带下划线,如: \u账单\u姓名 billing\u first\u name 它们都包含客户在下订单时输入的值,但是,如果使用管理仪表板编辑账单信息,下划线版本将被编辑,而非下划线版本将显示在自定义字段下 这引起了一些混乱,我做了一些搜索,但没有找到原因 如果任何人有任何提示,请提前感谢,否

我继承了一个建立在Woo Commerce基础上的网站,我正在帮助一个非营利组织。我一直在解决一些问题,但在他们编辑订单时看到一些奇怪的错误

似乎所有订单计费元数据标记都会出现两次,一次带下划线,一次不带下划线,如:

  • \u账单\u姓名
  • billing\u first\u name
它们都包含客户在下订单时输入的值,但是,如果使用管理仪表板编辑账单信息,下划线版本将被编辑,而非下划线版本将显示在自定义字段下

这引起了一些混乱,我做了一些搜索,但没有找到原因

如果任何人有任何提示,请提前感谢,否则我将插入代码

这是完全正常的(不是bug)。

由于woocommerce是Wordpress插件,它使用经典的用户数据表。但订单是一种自定义的post类型,用于存储自己的用户数据

在woocommerce中,您可以选择购买,而无需注册,在这种情况下,用户数据仅位于订单Posteta数据上

非注册用户首次购买(同时注册)时,数据保存在
wp\u usermeta
wp\u postmeta
表中

当用户在购买任何东西之前注册时,数据将仅在
wp\u usermeta
表中注册


出于所有这些原因,用户数据有两个位置:

1)
billing\u first\u name
-用户数据存储在
wp\u usermeta
表中,可从用户我的帐户页面(或从用户编辑页面的后端)进行编辑

2)
\u billing\u first\u name
(始终以下划线开头)-订单客户数据存储在
wp\u postmeta
表中,管理员和商店经理只能通过后端订单编辑页面对其进行编辑。此数据显示在各地的订单和电子邮件通知上…
开头的下划线是“避免在自定义字段元框中显示此数据”(以编辑页面的顺序)

因此,订单可以有不同于用户元数据的计费或发货字段,因为客户可以有不同的计费/发货数据

商业需要两者。
你不应该对此做出任何改变,因为这对你来说将是一场真正的噩梦


谢谢,这很有帮助。但是,这两个元数据都在
wp_posteta
中找到,并且用户从未注册过。@ChrisPhillips(在您的问题中没有明确解释)…因此,肯定有一些自定义代码正在进行此操作,因为这是唯一的原因,因为在
wp\u posrmeta
中通常没有
billing\u first\u name
,只有以下划线字符开头的billing和shipping字段。