我想知道如何/是否可以访问wordpress设置中定义的最新X篇帖子。我见过通过RSS迁移所有博客内容的插件,还没有看到它们的方法。
基本上我管理着几百个WordPress博客,我正在为我的客户构建一个新闻稿生成器。他们希望能够选择一些帖子,并将摘录显示在时事通讯正文中。这些网站分布在多个服务器上,新闻稿生成器构建在我们的CRM之上,因此很难直接查询数据库。RSS将是最干净的,但我似乎不知道如何一次访问10个以上的内容(当admin中设置了10个时)。
有什么想法吗?
我想知道如何/是否可以访问wordpress设置中定义的最新X篇帖子。我见过通过RSS迁移所有博客内容的插件,还没有看到它们的方法。
基本上我管理着几百个WordPress博客,我正在为我的客户构建一个新闻稿生成器。他们希望能够选择一些帖子,并将摘录显示在时事通讯正文中。这些网站分布在多个服务器上,新闻稿生成器构建在我们的CRM之上,因此很难直接查询数据库。RSS将是最干净的,但我似乎不知道如何一次访问10个以上的内容(当admin中设置了10个时)。
有什么想法吗?
Codex提供了关于如何使用的示例片段post_limits
筛选以覆盖在管理中为提要设置的金额。
if (isset ($query->query_vars[\'feed\']) and ($query->query_vars[\'feed\'] == \'ics\'))
add_filter(\'post_limits\',\'__return_empty_string\');
http://codex.wordpress.org/Function_Reference/query_posts#Usage_Tips
不幸的是,大多数社区普遍不赞成你所做的事情。我听到你的要求是:
远程检索超过默认数量(最近发布的帖子)的一种方法,可以检索站点的所有已发布帖子,而无需与站点本身进行任何直接交互(使用RSS)
也就是说,我现在假设你有合法的理由从700多个网站上删除内容。在这种情况下,我建议使用一种单独的编程方法,而不是RSS。如果您拥有所有这些站点的合法登录信息(即它们是您的站点,而不是其他站点),您可以使用WordPress内置的XML-RPC功能获取内容。
使用内置的XML-RPC库将请求传递给metaWeblog.getRecentPosts
指定博客的ID(对于单个站点通常为0,但在多站点中可能不同)、WordPress用户名、WordPress密码以及要获取的帖子数(将此设置为-1以接收所有帖子)。
另一个站点将响应(一个相当大的)XML文件,其中包含您可以使用所需内容的内容。这一切都可能发生在幕后metaWeblog.getRecentPosts
请求将为您提供比RSS提要更多的信息(包括自定义字段,这可能对您很重要)。
如果记忆有用,那么将-1作为帖子数传递也有同样的效果。但不完全确定它是如何被放入URL的。
另一方面,如果你真的想拥有700多个站点,可以考虑每天从一个稳定的分支、一个私有存储库中使用svn更新或git提取的cron。。。结合每天对wp admin/upgrade的http调用。php。在升级或调整网站时,它会为你省去很多麻烦,因为它会自动完成。
虽然不是“所有帖子”,但我认为limit
param更有用。
我建议直接过滤“posts\\u per\\u rss”选项,如下所示:
add_filter( \'option_posts_per_rss\', \'my_posts_per_rss\' );
function my_posts_per_rss( $option ) {
if( isset( $_GET[\'limit\'] ) ) {
return (int) $_GET[\'limit\'] ?: $option;
}
return $option;
}
然后可以这样访问提要:http://example.org/category/acme/feed/?limit=999您可能想使用一些RSS聚合器,如FeedWordpress
如果转到“设置”>“阅读”>“并将“联合提要显示最新”中的值更改为适合您的数字,它将显示您输入的提要数。
我该怎么做呢?我一直在尝试获取add\\u feed等,但没有成功。