我在WordPress codex中找不到任何xmlrpc方法调用来执行此操作。我可以通过metaWeblog.getRecentPosts和提取ID获得所有的帖子,但我不知道博客中的帖子的确切数量。
发布于 2010-10-14 23:36:47
不存在获取所有帖子的XML-RPC方法,主要是因为这可能会导致严重的性能问题(想象一个有5000篇帖子和高流量的博客……尝试解析所有内容的列表将导致一些严重的服务器延迟)。
对于常用的WordPress方法,最接近的方法是getRecentPosts调用:blogger.getRecentPosts和metaWeblog.getRecentPosts ( MetaWeblog调用实际上只是Blogger调用的别名)。
也就是说,您可以创建自己的方法,返回已发布帖子的计数或已发布帖子的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系统添加两个新的调用: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的列表。
https://stackoverflow.com/questions/3933823
复制相似问题