正在尝试查询类别4中的所有帖子

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

我有以下模板页面。我正在尝试输出类别4中的所有文章。然而,我只收到了一些帖子,大约20%。不确定是什么导致了这种情况。还有没有办法在query\\u帖子中使用类别名称而不是类别编号?

<?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_posts(\'cat=4\'); ?>


                        <?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(); ?>

2 个回复
最合适的回答,由SO网友:Christian Rios 整理而成

对于您关于只返回20%的帖子的问题,请尝试以下方法

<?php query_posts(\'cat=4&posts_per_page=-1\'); ?>

注意:默认情况下,返回10篇文章。-1 将返回结果集中的所有帖子。

http://codex.wordpress.org/Function_Reference/query_posts#All_Posts_in_a_Category

--

关于通过Category Name, 您可以通过category_name 作为参数,它接受类别SLUG。

http://codex.wordpress.org/Class_Reference/WP_Query#Category_Parameters

--

正如@Bart Karp所提到的,您可能需要重新考虑使用query\\u帖子。

有关使用的更多信息,请参阅以下答案WP_Query vs公司query_posts() vs公司get_posts() - When should you use WP_Query vs query_posts() vs get_posts()?

SO网友:Bart Karp

不惜一切代价避免发布query\\u帖子,即使是食品法典本身也说这是更改默认查询的最简单但不是首选的方法。

尝试使用WP Query 改为使用类别参数:

$query = new WP_Query( \'category_name=staff\' );
还有get_posts() 作用

忘了query\\u posts()太慢了,它几乎总是会引发很多问题,你应该没事:)

结束

相关推荐

1 post, 2 templates

我想能够呈现两种不同的风格(2个模板)后。例如,假设我有post ID 133,我希望有两个url来访问它,因此它会呈现不同模板应用的位置。洛雷姆。com/render1/133。com/render2/1333,例如。。。或者可能是这样的:洛雷姆。com/post/133和lorem。com/post/133?模板=2您将如何操作?