#php #wordpress
#php #wordpress
Вопрос:
Я использую этот метод для создания пользовательской конечной точки API, метод определен следующим кодом. Этот код работает нормально, но поле ACF отображается как false.В этом коде мое расширенное значение пользовательского поля равно url
function help_faq_data() {
$args = [
'numberposts' => 99999,
'post_type' => 'help-center'
];
// get posts
$posts = get_posts($args);
$data = [];
$i = 0;
foreach($posts as $post) {
$data[$i]['id'] = $post->ID;
$data[$i]['foo'] = get_field('url', $post->ID);
$i ;
}
return $data;
}
add_action('rest_api_init', function() {
register_rest_route('help-center-api/v1', 'faq-data', [
'methods' => 'GET',
'callback' => 'help_faq_data',
]);
});
Результат:
{
"id": 190,
"foo": false
}, etc..
Комментарии:
1. Вы уверены, что поле URL ACF действительно имеет значение для post 190? Кроме того, вместо 99999
numberposts
вы можете просто установить его равным -1.2. Да, у меня есть значение. Я получаю другие данные, но не значение из расширенного пользовательского поля
3. Обычно это должно работать так, но попробуйте использовать ключ поля (например,
field_5c629deadbeef
) поля url вместо'url'
. И вы можете попробоватьdebug_log('get_field for url: '.json_encode(get_field_object('field_5c629deadbeef', $post->ID)));
проверить, что это возвращает.