如何/在哪里为RSS提要创建wp_Query对象?

时间:2011-04-19 作者:anu

查看feed-rss2中的代码。php和feeds-rss2-comments。php,在标题序言之后,我们有一个循环-例如在feed-rss2-comments中。php:

if ( have_comments() ) : while ( have_comments() ) : the_comment();
$comment_post = get_post($comment->comment_post_ID);
get_post_custom($comment_post->ID);
正在为此循环创建的wp\\u comment\\u查询对象在哪里?

我正在做的(在昨天的问题之后)是创建两个新的RSS提要-一个显示被丢弃的帖子,另一个显示被丢弃的评论。添加一个新的query\\u posts/get\\u comments调用很容易,但是有没有更有效的方法呢?

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

这些文件不会直接加载,但与常规模板文件类似,仅在WP 类已初始化。此类执行主查询,如果设置了正确的查询变量,则主查询已经可以包含注释。

执行流程如下,从main开始index.php:

require(\'./wp-blog-header.php\');
    require_once( dirname(__FILE__) . \'/wp-load.php\' );
        // Initialization of settings, plugins, theme
    wp();
        WP::main();
            WP::init();
            WP::parse_request();
                // Parse `/feed/` and `/comments/feed/` and set the query variables
            WP::send_headers();
            WP::query_posts();
                WP::build_query_string();
                WP_Query::query();
                    WP_Query::init();
                    WP_Query::get_posts();
                        // This does the actual query
                        // `pre_get_posts` is the action you\'ll probably want to use
            WP::handle_404();
            WP::register_globals();
    require_once( ABSPATH . WPINC . \'/template-loader.php\' );
        if ( is_feed() ) {
            do_feed();
                // This calls the `do_feed_[feedtype]` action, e.g. rss2
                    do_feed_rss2( $for_comments );
                        if ( $for_comments )
                            load_template( ABSPATH . WPINC . \'/feed-rss2-comments.php\' );
                        else
                            load_template( ABSPATH . WPINC . \'/feed-rss2.php\' );
        }

结束

相关推荐

Custom Author Loop

本质上,我想做的是与wp\\u list\\u authors标记具有相同的效果,但我不想只列出名称或他们的帖子数量,而是希望能够使用ID进行循环。最终,我想有一个页面与每个作者,与他们的名字,描述,化身和链接。我可以弄清楚具体情况,我只需要一种方法来做如下事情:foreach $author as $author->ID 提前感谢,皮特