【发布时间】:2014-04-09 16:12:52
【问题描述】:
是否可以按类别获取所有帖子?
【问题讨论】:
是否可以按类别获取所有帖子?
【问题讨论】:
我最终通过使用可选的过滤器参数成功地完成了这项工作。根据文档,这些是以下可接受的过滤器参数。
结构过滤器:可选。 字符串 post_type 字符串 post_status 整数 整数偏移 字符串排序 字符串顺序
出于好奇,我通过在 getposts 方法下将以下内容添加到 class-wp-xmlrpc-server.php 发送了一个“类别”过滤器
if(isset($filter['category']))
$query['category'] = absint($filter['category']);
在调用wp_get_recent_posts{$query); 方法之前
它成功了! Wordpress 似乎从他们的文档中遗漏了一些过滤器参数。
您还可以通过传递“s”作为过滤器来发送搜索过滤器
$query['s'] = $filter['s'];
【讨论】:
似乎没有预先过滤的方法。之后您可能需要运行 API 调用并进行过滤。
不过,您最好还是在stackexchange wordpress site 上提问。
【讨论】:
毕竟这很容易。从这个WPSE answer,我们了解到我们可以扩展XML-RPC 方法并创建我们自己的my.getPosts,就像William P. Davis 的extension code on GitHub 展示的那样- - fork.
基本上,使用以下代码创建一个插件并调整接受的参数以产生输出:
add_filter( 'xmlrpc_methods', 'add_my_xmlrpc_methods' );
function add_my_xmlrpc_methods( $methods ) {
$methods['bdn.getPosts'] = 'bdn_xmlrpc_get_posts';
return $methods;
}
function bdn_xmlrpc_get_posts( $args ) {
# Adapt wp.getPosts to your needs
# https://core.trac.wordpress.org/browser/tags/3.9/src/wp-includes/class-wp-xmlrpc-server.php#L1553
}
【讨论】: