好了,我一直在努力尝试这个功能:
function abGetAllFields($pro_num){
$tmpArr = get_field_objects($pro_num);
$fillArray = array();
foreach($tmpArr as $tmpFieldObject) {
$fillArray = abGetAllFieldsCycle($fillArray, $tmpFieldObject["name"], $tmpFieldObject["value"]);
}
return $fillArray;
}
function abGetAllFieldsCycle($fillArray, $name, $value) {
if (is_array($value)) {
foreach($value as $key => $value) {
$fillArray = abGetAllFieldsCycle($fillArray, $key, $value);
}
} else {
array_push($fillArray, [$name, $value]);
}
return $fillArray;
}
$myFieldArray = abGetAllFields($pageId);
有可能是一个更好或更简单的方法来做到这一点,但心里很不舒服,它没有我需要的东西,所以我会停在那儿,我想我会分享我的结果:-)
get_fields()返回所有字段和子字段作为一个数组,然后你应该可以遍历那个 – Stender
尝试在你的代码中写这个,这样你就可以正确地看到它 - <?php highlight_string(“<?php \ n \ $ fields = \ n “。 var_export(get_fields(),true)。 “; \ N>?”); ?> – Stender
谢谢,但...我只是不明白。 get_fields可能会给我第一级字段,但不是高级字段,以及那些高级字段等......我的意思是,它可能会给我包含在多级数组中的值,但是如何循环没有子集的“关键”,因为get_fields只能给我“名称”和“值”,我该怎么做,一遍又一遍......我很抱歉,它可能非常简单,但我只是没有构建一个简单的函数来收集页面/文章中的所有字段。它可能是我的一个未解决的问题:-S –