【问题标题】:WordPress REST API - Get media of specific type onlyWordPress REST API - 仅获取特定类型的媒体
【发布时间】:2017-02-09 02:59:04
【问题描述】:
我正在使用 WP REST API v1.2.5(因为 v2 似乎不适用于我正在处理的网站),我想从 Media 中检索所有 pdf 对象,而不获取所有其他图像、视频等。我怎么能这样做(如果可能,不添加自定义端点)。
获取我使用的所有媒体:
/wp-json/media
不过,我找不到只返回我网站上的 pdf 的过滤器。任何帮助,将不胜感激。谢谢!
【问题讨论】:
标签:
wordpress
api
rest
filter
【解决方案1】:
感谢这篇文章,我找到了解决方案:
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;
});
这使得媒体可以使用以下语法由帖子父级过滤(由于某种原因默认情况下不可用):
.../wp-json/media?filter[post_parent]=YOUR_ID
因此,如果我想将所有媒体都附加到 ID 为 984 的文章中,我会这样做:
.../wp-json/media?filter[post_parent]=984
我希望这可以帮助其他面临同样问题的人。
【解决方案2】:
如果您的媒体库中有 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