Как добавить поле таксономии дополнительного пользовательского поля в ответ restAPI - PullRequest
0 голосов
/ 21 октября 2019

Я пытаюсь создать API, который будет быстро загружать много данных. Мне нужно отобразить заголовок, название категории и изображение категории.

Я начал с добавления настраиваемого поля из плагина ACF и поместил его в таксономию. Я создал новый маршрут API отдыха и создал функцию обратного вызова

function fetch_ideas ( $request_data ) {

    $page = $request_data['page'];
    // setup query argument

    $args = array(
        'post_type' => 'ideas_post_type',
        'order' => 'ASC',
        'posts_per_page' => 1,
        'paged'             => $page,
    );


    // get posts
    $posts = get_posts($args);
    // add custom field data to posts array so we can fetch it
    foreach ($posts as $key => $post) {
            $posts[$key]->acf = get_fields($post->ID);
            $posts[$key]->link = get_permalink($post->ID);
            $posts[$key]->image = get_the_post_thumbnail_url($post->ID);
            $posts[$key]->categories = get_the_category($post->ID);
            $posts[$key]->catimage = $posts[$key]->catimage = get_field('cat_image',  get_the_category($post->ID ));
    }
    //make a custom json output (choose from post object what to display)
    //return $post
    $post_data = array();
    $i = 1;
    foreach( $posts as $posts_list) {
        $post_id = $posts_list->ID;
        $post_title = $posts_list->post_title;
        $post_content = $posts_list->link;
        $post_acf = $posts_list->acf;
        $post_category = $posts_list->categories;
        $post_cat_image = $posts_list->catimage;
        $post_data[$i][ 'title' ] = $post_title;
        $post_data[$i][ 'content' ] = $post_content;
        $post_data[$i][ 'acf' ] = $post_acf;
        $post_data[$i][ 'categories' ] = $post_category;
        $post_data[$i][ 'catImage' ] = $post_cat_image;
        $i ++;
    }
}

. Вместо этого я получил значение null из значения catImage, что я получаю значение поля (в данном случае ссылку на изображение).

...