WordPress REST API - 仅获取特定类型的媒体

时间:2016-03-28 23:16:27

标签: wordpress api rest filter

我正在使用WP REST API v1.2.5(因为v2似乎在我正在处理的网站上不起作用)并且我想要从Media检索所有pdf对象而不获取所有其他图像,视频等。我怎么能这样做(如果可能的话,不添加自定义端点)。

获取我使用的所有媒体:

/wp-json/media

我找不到只能在我的网站上返回pdf的过滤器。任何帮助,将不胜感激。谢谢!

2 个答案:

答案 0 :(得分:0)

由于这篇文章,我找到了一个解决方案: https://1fix.io/blog/2015/02/28/wordpress-rest-api-media/

基本上你需要将以下php代码添加到WP REST API插件中:

add_filter( 'query_vars', function( $query_vars ) {
    $query_vars[] = 'post_parent';
    return $query_vars;
});

这样可以使用以下语法通过post parent(由于某种原因,默认情况下不可用)来过滤媒体:

.../wp-json/media?filter[post_parent]=YOUR_ID

因此,如果我想将所有媒体附加到ID为984的文章中,我会这样做:

.../wp-json/media?filter[post_parent]=984

我希望这可以帮助其他任何面临同样问题的人。

答案 1 :(得分:0)

如果您的媒体库中有pdf,这对我有用:

<your_wordpress_install_base_url>/wp-json/wp/v2/media?search=.pdf

或者例如,每页显示25个.jpg图像,按页码:

<your_wordpress_install_base_url>/wp-json/wp/v2/media?search=.jpg&per_page=25