M. *_*han 4 php wordpress metadata orders woocommerce
我正在尝试提取添加到 WooCommerce 结账表单中的自定义字段的订单元数据。我在 PHP 文件中执行此操作,该文件用于将自定义部分添加到 WooCommerce 发送给客户的订单确认电子邮件中(即订单处理的最后阶段)。
为了做到这一点,我尝试使用 WC_Order 类和以下代码:
$my_var = get_post_meta( $order_id, 'custom_field_meta_key', true );
然而,这种方法行不通。我意识到“order_id”变量在 PHP 页面中不可用。我使用以下代码来确认这一点:
print_r(array_keys(get_defined_vars()));
以下是我得到的输出:
Array ( [0] => template_name [1] => args [2] => template_path [3] => default_path [4] => cache_key [5] => template [6] => filter_template [7] => action_args [8] => title [9] => delivery_date [10] => email )
有人可以帮助我找到获得预期结果的最佳方法吗?
由于$email变量似乎已定义,您通常可以WC_Order使用以下方式获取对象实例:
$order = $email->object;
Run Code Online (Sandbox Code Playgroud)
然后要获取自定义字段(元数据),您可以使用以下WC_Data方法get_meta():
$my_var = $order->get_meta( 'custom_field_meta_key' );
Run Code Online (Sandbox Code Playgroud)
或者您也可以使用旧的 WordPress 方式(来自订单 ID):
$my_var = get_post_meta( $order->get_id(), 'custom_field_meta_key', true );
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4468 次 |
| 最近记录: |