我使用的是WooCommerce,在付款时,此函数会被执行,并且工作正常,但我需要的是在执行Foreach时返回自定义字段的值.用什么函数返回该字段的内容,我try 了the_field('comboitems')次,但没有成功.

function example_metadata( $metadata, $order, $post  ) {
  foreach ( $order->get_items() as $item_id => $item ) {
        $metadata['test'] = '1234';
        $metadata['field1'] = $item->get_data();
        $metadata['customfield'] = the_field('comboitems');
  }
  return $metadata;
}

$item->get_data()是为了判断是否读取了comboItems定制字段.

我使用命令$item->get_data();来try 查看它是否返回与我的字段相关的内容.我try 使用_field(‘comboItems’),但它返回NULL,以及搜索解决方案的其他变体.

推荐答案

不要使用the_field()函数,因为它 echo 自定义字段.改为使用get_field()将自定义字段值分配给变量…

然后,在订单项目(产品)中,您将使用:

$metadata['customfield'] = get_field('comboitems', $item->get_product_id());

因此,在您的代码中:

function example_metadata( $metadata, $order, $post  ) {
    foreach ( $order->get_items() as $item ) {
        $metadata['customfield'] = get_field('comboitems', $item->get_product_id());
    }
    return $metadata;
}

Php相关问答推荐

谷歌云SQL / mysql谁是对的?

CodeIgniter AJAX表格提交中的CSRF token 再生问题

如何在不指定symfony列的情况下从数据库中获取行数组

PHP中的圆生成器在国际日期变更线上失败

Apache只允许index.php-不从根目录工作

莫德克斯.当我try 使用pThumb为手机压缩图像时,没有任何react

根据WooCommerce Cart小计阈值自动应用优惠券

在php中,方法之间的属性链接是如何工作的

Select 本地提货时隐藏WooCommerce显示的发货成本

文本到语音:不考虑音高值

WooCommerce 以编程方式添加的费用不会持续存在

MongoDB Laravel Jenssegers 包:插入数据库时​​未定义的类常量PRIMARY

通过ajax发送数据到下拉列表未完全设置为所选

Laravel 发送邮箱问题 Swift_TransportException

我的功能以舒适的方式显示数组 struct

PHP 创建 CSV 文件并用波斯语写入

正则表达式请帮我从内容中找到这个词

服务器遇到内部错误或配置错误,无法完成您的请求

PHP Loop 在迭代中使用修改后的数据

如果 static:: 被解析为B,为什么 PHP 会执行A的方法