使用WooCommerce,我使用插件WooCommerce Checkout add-on将额外字段添加到结帐页面。
我添加了一个名为 'livraison'
的字段,并且它已保存为id DB,但我无法通过代码获取它:
get_post_meta( $order->id, 'livraison', true );
我不明白为什么是假的......
我做错了什么?
谢谢
答案 0 :(得分:1)
解决您的问题:
1)在wp_postmeta
表格中检入您的数据库。
您应该在SQL查询窗口中进行搜索:
SELECT * FROM `wp_postmeta` WHERE `meta_key` LIKE '%livraison%'
因为此自定义字段的 meta_key
slug可能是 '_livraison'
。
如果您什么都没有,请查看其他搜索已定义的订单ID (例如,我们在下面搜索订单ID 1216
):< / p>
SELECT * FROM `wp_postmeta` WHERE `post_id` = 1216
然后您将获得此订单的所有元数据,您将直观地搜索此自定义字段。
2)确保您使用带有 $order->id
功能的** get_post_meta()
获取订单ID。**
根据您使用 get_post_meta()
的位置,您需要确保 $order->id
不是 null
< /强>
您应该尝试在代码 $order->id
值之前输出,例如:
echo 'Current Order ID is ' . $order->id;
如果您没有获得任何订单ID,这就是问题所在。在某些WooCommerce挂钩中,您可以使用例如 $order_id
,具体取决于所使用的挂钩的参数。某些模板也是如此。
为了更好地提供帮助,您提供代码或一些额外信息可能有用 您尝试使用
get_post_meta( $order->id, 'livraison', true );
强>