更改/重组Wordpress REST API的输出以包含更多数据

时间:2018-08-07 08:15:35

标签: php wordpress reactjs wordpress-rest-api

我想将Wordpress用作我的单页React应用程序的无头CMS (+ axios)。该网站是一种投资组合,因此对我来说,最重要的是作为画廊所附的每张照片。

WP REST API返回所有必要的数据,但是只有在向[ ... / wp-json / wp / v2 / media?parent = X ]发送新请求后,图像链接才可用。 。我想对其进行优化,并自动将所有图像网址附加到常规输出中,这样我就可以得到一个复杂的响应。

我相信可以操纵API响应,但是我对Wordpress不太了解。预先感谢。

1 个答案:

答案 0 :(得分:0)

这是返回帖子路线的特色图片

示例发布路线https://your-wp-site.com/wp-json/wp/v2/posts

function wp_featured_image( $object, $field_name, $request ) {
    if( $object['featured_media'] ){
        $img = wp_get_attachment_image_src( 
            $object['featured_media'], 
            'thegoodartisan-big'//default: 'thumbnail' or create customize sizes -> add_image_size( 'thegoodartisan-thumb', 220, 180, true ); //(cropped)
            );
        return $img[0];
    }
    return false;
}

function featured_media_posts_api(){
    register_rest_field( array('post'),//name of post type 'post', 'page'
        'thegoodartisan_featured_media',//name of field to display
        array(
            'get_callback'    => 'wp_featured_image',
            'update_callback' => null,
            'schema'          => null,
        )
    );
}
add_action('rest_api_init', 'featured_media_posts_api' );

posts route request with returned featured image

发布带有返回的特色图片的路线请求