WooCommerce Checkout附加插件:获取自定义字段值

时间:2016-12-20 09:30:12

标签: php wordpress woocommerce custom-fields orders

使用WooCommerce,我使用插件WooCommerce Checkout add-on将额外字段添加到结帐页面。

我添加了一个名为 'livraison' 的字段,并且它已保存为id DB,但我无法通过代码获取它:

get_post_meta( $order->id, 'livraison', true );

我不明白为什么是假的......

我做错了什么?

谢谢

1 个答案:

答案 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 );