无法使‘tag’页面仅显示带标签的帖子

时间:2012-10-18 作者:iob

我做了个标签。我的主题文件夹下的php,以便从“www.mywebsite”等URL设置所有带标签的帖子页面的样式。com/tag/kittens\'。

然而,如果我去“www.mywebsite”。com/tag/kittens\'它显示我的所有帖子,甚至是那些没有标记为“kittens”或根本没有标记的帖子。我使用了标准的循环,我找不到一种方法来改变它以获取标签页名称,并且只返回那些帖子,而不创建单独的“标签小猫”。每个标签的php类型页。

帮助

<小时>

<?php
    get_header();
    query_posts( \'posts_per_page=5\' ); ?>

<?php the_tags( $before, $sep, $after ); ?>

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

 <div class="post">

 <!-- Display the Title as a link to the Post\'s permalink. -->
 <h2><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></h2>

 <!-- Display the date (November 16th, 2009 format) and a link to other posts by this posts author. -->
 <small><?php the_time(\'F jS, Y\') ?></small>

  <div class="entry">
    <?php the_content(); ?>
  </div>

 </div> <!-- closes the first div box -->

 <?php endwhile; else: ?>
 <p>Sorry, no posts matched your criteria.</p>
 <?php endif;
    get_footer();
 ?>

1 个回复
SO网友:Milo

问题是这一行:

query_posts( \'posts_per_page=5\' );
您正在使用5篇最新帖子的查询覆盖此页面的查询,而不考虑标签、类别等。。如果删除该行,模板将按预期工作。

如果要将标记页限制为仅5篇文章,请使用pre_get_posts 措施:

function wpa69774_limit_tags( $query ) {
    if ( $query->is_tag() && $query->is_main_query() ) {
        $query->set( \'posts_per_page\', 5 );
    }
}
add_action( \'pre_get_posts\', \'wpa69774_limit_tags\' );

结束

相关推荐

Can't give tags rels

在我的Wordpress帖子中,我点击编辑帖子,跳转到html编辑器选项卡并点击它。我在那个页面上有一个pre,当我给它一个rel并发布它时,一切都很好,但当我跳回到可视化编辑器时,它只会去掉rel属性。