好了,我一直在努力嘗試這個功能:
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 –