在Wordpress中的单个页面上显示某个类别的所有帖子

时间:2015-07-17 14:12:43

标签: wordpress

我是php和wordpress的新手。

我将帖子类别用作一个简单的目录,并希望用户在点击一个类别时查看某个类别的每个帖子,而不是对结果进行分页。

在Archive.php中,我尝试过这样的主题:

    /* Get the current category and increase the number of posts shown */
    <?php 
    $category = $wp_query->get_queried_object()->slug;
    query_posts('category_name=$category&showposts=100'); 
    ?>

    <div id="content">
        <?php if ( have_posts() ) : ?>
        <?php /* The loop */ ?>
        <?php while ( have_posts() ) : the_post(); ?>
            <?php get_template_part( 'content', get_post_format() ); ?>
        <?php endwhile; ?>
        <?php else : ?>
            <?php get_template_part( 'content', 'none' ); ?>
        <?php endif; ?>
    </div><!-- /content -->

但是,它不起作用。点击该类别不会显示找到的帖子。

我确信有更好更简单的方法可以做到这一点。

第二个问题是,将此逻辑仅应用于我所拥有的类别子集的好方法是什么?我想我可以制作一系列类别并进行查询,但这看起来很笨拙。

非常感谢。

1 个答案:

答案 0 :(得分:0)

不确定它是否能解决您的问题,但您的代码中存在错误:

<?php
query_posts('category_name=$category&showposts=100');

单引号中的变量名称不起作用。变量扩展仅在双引号字符串中发生(请参阅here):

<?php
query_posts("category_name=$category&showposts=100");

更好的是跳过变量扩展并进行适当的连接:

<?php
query_posts('category_name=' . $category . '&showposts=100');