我没有找到任何xmlrpc方法调用来在WordPress codex中执行此操作。 我可以通过metaWeblog.getRecentPosts获取所有帖子并提取ID,但我并不完全知道博客中帖子的数量。
答案 0 :(得分:4)
没有XML-RPC方法来获取所有帖子,主要是因为这可能导致严重的性能问题(对具有5,000个帖子和高流量的博客进行映像...尝试解析所有内容的列表< / em>会导致一些严重的服务器滞后。)
使用库存WordPress方法可以获得的最接近getRecentPosts
调用:blogger.getRecentPosts
和metaWeblog.getRecentPosts
(MetaWeblog调用实际上只是Blogger调用的别名)。< / p>
也就是说,你可以创建自己的方法,该方法返回已发布帖子的数量或已发布帖子的ID列表。只需创建一个快速插件即可挂钩到XML-RPC系统以添加端点和方法:
function xml_add_method( $methods ) {
$methods['myNamespace.postCount'] = 'get_post_count';
$methods['myNamespace.postIDList'] = 'get_post_id_list';
return $methods;
}
add_filter( 'xmlrpc_methods', 'xml_add_method' );
该代码块将向您的XML-RPC系统myNamespace.postCount
和myNamespace.postIDList
添加两个新调用。您可以远程调用这些文件,分别返回已发布帖子的数量和已发布帖子ID的列表。
您还需要定义将处理请求的PHP函数 - 所有XML-RPC系统都将远程请求路由到返回数据的内部PHP函数:
function get_post_count( $args ) {
global $wpdb;
... code that retrieves the total count of published posts from the database ...
return $count;
}
function get_post_id_list( $args ) {
global $wpdb;
... code that retrieves a list of published posts from the database ...
return $postlist;
}
就是这样。将所有代码一起拉入自定义插件,将其放入您的站点,激活它,现在您可以通过XML-RPC获取已发布帖子的数量或已发布帖子ID的列表。