可以创建一个包含所有博客条目的RSS提要吗?

时间:2013-06-11 作者:Riduidel

更具体地说,我在riduidel有一个博客。wordpress。com,我想为其创建该提要,以便稍后在名为autoblog的站点备份解决方案中使用它,该解决方案可以通过简单地读取RSS提要来创建站点副本。那么wordpress是否有这样一个可用的工具呢。com站点(直接或不直接),或者我应该备份我的博客数据库,然后编写一个脚本来生成该流?

1 个回复
最合适的回答,由SO网友:Pat J 整理而成

有一个add_feed() 作用您可以通过第二个回调参数向其传递一个函数。因此,类似这样的方法应该有效:

add_action( \'init\', \'wpse102646_all_items_feed\' );
function wpse102646_all_items_feed() {
    add_feed( \'allposts\', \'wpse102646_get_all_items\' );
}
function wpse102646_get_all_items() {
    $args = array(
        \'numberposts\' => -1,
        \'post_type\' => \'post\',
        \'post_status\' => \'publish\',
    );
    $posts = get_posts( $args );
    $feed = \'\';
    global $post;
    foreach( $posts as $post ) {
        $feed .= get_the_title();
        $feed .= get_the_content();
    }
    return $feed;
}
此代码未经测试

还有,我不完全确定return $feed; 是所需的add_feed(), 或者如果你应该echo( $feed );. 我怀疑是前者。

此外,任何时候您更改add_feed() 代码,您需要刷新永久链接。建议的方法是转到Settings » PermalinksSave 您现有的永久链接结构。

参考法典:

结束

相关推荐

向RSS添加自定义帖子类型元字段

因此,我通过这段代码将我的视频自定义帖子类型添加到我的rss提要中。//Add videos custom post type function myfeed_request($qv) { if (isset($qv[\'feed\']) && !isset($qv[\'post_type\'])) $qv[\'post_type\'] = array(\'post\', \'videos\'); return $qv; } add_