获取评论数量和喜欢的帖子数量最简单的方法是什么?
获取帖子时(例如https://site/wp-json/wp/v2/posts?after=2018-07-21T15:05:44.000Z之类的请求),我看不到任何有用的字段
我目前正在使用javascript通过axios发出直接请求。
答案 0 :(得分:2)
如果您具有对所请求站点代码的编辑权限,则可以将该字段添加到JSON API提供的响应中。
类似这样的东西:
add_action( 'rest_api_init', function() {
\register_rest_field( 'post', 'comment_count', [
'get_callback' => function ( $post ) {
return (int) wp_count_comments( $post['id'] )->approved;
},
'schema' => [
'description' => 'List number of comments attached to this post.',
'type' => 'integer',
],
] );
});
如果您无权访问所请求的网站,则可以通过在URL的末尾发送?_embed=true
来将评论添加到响应中,然后只计算答复数。
类似这样的东西:
const {data} = await Axios.get( 'https://site/wp-json/wp/v2/posts?after=2018-07-21T15:05:44.000Z&_embed=true' );
data.map( post => {
console.log( post._embedded.replies.length );
});
答案 1 :(得分:0)
与其说是JavaScript相关问题,不如说是一个答案。
除了向REST API添加自定义端点外,获取任何帖子的评论数的最简单方法是使用评论端点(https://site/wp-json/wp/v2/comments?post=1234&per_page=1)并使用响应的X-WP-Total
标头。 / p>