Trying to WP_Query a category

时间:2013-02-01 作者:Anders Kitson

我试图输出某个类别的所有帖子,但所发生的一切是页面内容被输出没有帖子?

模板页面

<?php
/*
Template Name: Blog
*/
?>

<?php get_header(); ?>

            <div id="content">

                <div id="inner-content" class="wrap clearfix">

                    <div id="main" class="eightcol first clearfix" role="main">



                   <?php $query = new WP_Query( \'category_name=blog\' ); ?> 


                        <?php if (have_posts()) : while (have_posts()) : the_post(); ?>

                        <article id="post-<?php the_ID(); ?>" <?php post_class(\'clearfix\'); ?> role="article">

                            <header class="article-header">

                                <h1 class="page-title"><?php the_title(); ?></h1>
                  <p class="byline vcard"><?php
                    printf(__(\'Posted <time class="updated" datetime="%1$s" pubdate>%2$s</time> by <span class="author">%3$s</span>.\', \'bonestheme\'), get_the_time(\'Y-m-j\'), get_the_time(__(\'F jS, Y\', \'bonestheme\')), bones_get_the_author_posts_link());
                  ?></p>


                            </header> <!-- end article header -->

                            <section class="entry-content">
                                <?php the_content(); ?>
                            </section> <!-- end article section -->

                            <footer class="article-footer">
                                <p class="clearfix"><?php the_tags(\'<span class="tags">\' . __(\'Tags:\', \'bonestheme\') . \'</span> \', \', \', \'\'); ?></p>

                            </footer> <!-- end article footer -->

                            <?php comments_template(); ?>

                        </article> <!-- end article -->

                        <?php endwhile; ?>  

                        <?php else : ?>

                            <article id="post-not-found" class="hentry clearfix">
                                <header class="article-header">
                                    <h1><?php _e("Oops, Post Not Found!", "bonestheme"); ?></h1>
                                </header>
                                <section class="entry-content">
                                    <p><?php _e("Uh Oh. Something is missing. Try double checking things.", "bonestheme"); ?></p>
                                </section>
                                <footer class="article-footer">
                                    <p><?php _e("This is the error message in the page-custom.php template.", "bonestheme"); ?></p>
                                </footer>
                            </article>

                        <?php endif; ?>


                    </div> <!-- end #main -->

                    <?php get_sidebar(); ?>

                </div> <!-- end #inner-content -->

            </div> <!-- end #content -->

<?php get_footer(); ?>

1 个回复
SO网友:shea

您使用的WP\\U查询不正确:您需要调用have_posts()the_post() 函数作为$query 变量:

<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
成为:

<?php if ( $query->have_posts() ) : while ( $query->have_posts() ) : $query->the_post(); ?>
你也应该打电话wp_reset_postdata(); 查询循环完成后。

了解有关如何在WordPress Codex.

结束

相关推荐

Sort post's categories by ID

我有一个博客,其中几个帖子的类别必须先输出,然后再输出其他类别。与其他类别相比,这些类别的ID较低。我正在使用get_the_category_list 但它并没有像我预期的那样工作。这让我很困惑,因为我记得有一个主题做得很好。有人能给我指出正确的方向吗?谢谢<?php get_the_category_list( array( \'orderby\' => \'ID\', \'order\' => \'ASC\' ) ); ?>&