Woocommerce 订单/AFC get_sub_field / get_sub_field_object(数组)
Woocommerce Order / AFC get_sub_field / get_sub_field_object (array)
已设置 ACF 转发器字段,用于存储订单中各种数量的跟踪号。检索此信息的成功率为 0,因此需要一些建议。
我正在使用它在子字段中放置信息并且它完成了工作
foreach ($base->DocumentLines->DocumentLine as $item) {
foreach ($item->MiscData as $misc) {
foreach ($misc->PackageNo as $package) {
$trackno = (string)$package->TrackingNo;
update_post_meta("$order_id", $field_rep, $count);
$sub = $count +1;
update_sub_field(array($field_key_rep, $sub, $field_key_sub), $trackno, "$order_id");
$count = $count + 1;
update_field($field_key, $trackno, "$order_id");
}
}
}
这很好用,但我需要检索这些数字并将它们写出来。他们被包含在电子邮件中,因此需要在订单之外检索数据。
在重建能够处理多个数字的函数之前,我确实使用了一个字段并且可以使用
检索信息
get_post_meta($order_id, 'tracking', true);
感觉我现在什么都试过了,但一无所获。
来自其中一个订单的图片,在这个订单中有 10 个跟踪号码,但如果有帮助的话,它会从 1 到 20 不等。
当您在 10 小时后意识到您在子字段名称中漏掉了一个大写字母时的感觉。
只是想提交我的解决方案,希望它可以帮助其他遇到 ACF Repeater 字段 + Woocommerce
问题的人
对于我的具体情况,我确实做了一个函数,可以提取我上面的函数从 XML 文件中添加的所有跟踪号码。
$function trackingNo($postID) {
$field_rep = 'trackingNo';
$field_sub = 'no';
if (have_rows($field_rep, $postID)) {
$trackingNo = array();
// loop through the rows of data
while (have_rows($field_rep, $postID)):
the_row();
// Add to array
$trackingNo[] = get_sub_field($field_sub);
endwhile;
$foo = implode('&consignmentId=', $trackingNo);
$bar = 'urlzz/tracktrace/TrackConsignments_do.jsp?&consignmentId=';
$value = $bar . $foo;
return $value;
}
}
随时欢迎任何改进建议,我的 PHP 很一般 :)
已设置 ACF 转发器字段,用于存储订单中各种数量的跟踪号。检索此信息的成功率为 0,因此需要一些建议。
我正在使用它在子字段中放置信息并且它完成了工作
foreach ($base->DocumentLines->DocumentLine as $item) {
foreach ($item->MiscData as $misc) {
foreach ($misc->PackageNo as $package) {
$trackno = (string)$package->TrackingNo;
update_post_meta("$order_id", $field_rep, $count);
$sub = $count +1;
update_sub_field(array($field_key_rep, $sub, $field_key_sub), $trackno, "$order_id");
$count = $count + 1;
update_field($field_key, $trackno, "$order_id");
}
}
}
这很好用,但我需要检索这些数字并将它们写出来。他们被包含在电子邮件中,因此需要在订单之外检索数据。
在重建能够处理多个数字的函数之前,我确实使用了一个字段并且可以使用
检索信息get_post_meta($order_id, 'tracking', true);
感觉我现在什么都试过了,但一无所获。
来自其中一个订单的图片,在这个订单中有 10 个跟踪号码,但如果有帮助的话,它会从 1 到 20 不等。
当您在 10 小时后意识到您在子字段名称中漏掉了一个大写字母时的感觉。
只是想提交我的解决方案,希望它可以帮助其他遇到 ACF Repeater 字段 + Woocommerce
问题的人对于我的具体情况,我确实做了一个函数,可以提取我上面的函数从 XML 文件中添加的所有跟踪号码。
$function trackingNo($postID) {
$field_rep = 'trackingNo';
$field_sub = 'no';
if (have_rows($field_rep, $postID)) {
$trackingNo = array();
// loop through the rows of data
while (have_rows($field_rep, $postID)):
the_row();
// Add to array
$trackingNo[] = get_sub_field($field_sub);
endwhile;
$foo = implode('&consignmentId=', $trackingNo);
$bar = 'urlzz/tracktrace/TrackConsignments_do.jsp?&consignmentId=';
$value = $bar . $foo;
return $value;
}
}
随时欢迎任何改进建议,我的 PHP 很一般 :)