我想在WordPress中显示选定标签的所有相关帖子

时间:2018-02-13 作者:Manish Agarwal

我想显示所选标签的所有相关帖子,我的目的是在我的帖子中显示所有标签,如果有人单击标签,那么它应该重新指向我的标签模板tag.php. 但我无法显示与标签相关的所有帖子(我在帖子中单击了这些帖子)。我的标签

<div class="single_detail">
<div class="single_text">
<?php 
//GET THE TAG NAME FORM THE QUIRED OBJECT
$term = get_queried_object();
$tag_name = $term->name;
$args=array(\'posts_per_page\'=>5, \'tag\' => $tag_name);
$wp_query = new WP_Query( $args );
if( $wp_query->have_posts()) :  
    while ( $wp_query->have_posts() ) : $wp_query->the_post();
?>
<div class="blog_box">
    <a href="<?php the_permalink(); ?>">
    <span class="blog_author">By  <strong><?php echo get_the_author(); ?></strong>  Posted  <strong><?php the_time(\'F j, Y\') ?></strong></span>
    <h3><?php the_title(); ?></h3>
    <p><?php echo substr(get_the_excerpt(), 0,100); ?></p>
    <span class="read_more">Read more</span>
    </a>
</div>
<?php  endwhile; 
    endif;
    ?>
</div> <!-- end of posts details -->

如何获取所选标签的所有帖子?

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

您通过以下方式限制您的查询posts_per_page 要获得五个结果,请使用-1. 不使用$wp_query 作为变量名,因为它与global 具有相同名称的变量,这可能导致干扰。但也就是说,您完全不需要在tag.php。您已经在查询特定标记,使用?tag=abc/tag/abc 在您的URL中。WordPress捕捉到这一点并选择正确的模板,并将查询限制到该标记。有一个层次结构tag template (codex page; read it for more information) 选择文件:

标记slug。php

  • tag-id.php
  • 标记。php存档。php索引。php
  • 如果可用,则顺序是从第一到第五,如果没有,WordPress正在寻找下一个。此外,我建议Theme Developer Handbook 一本好书,尤其是关于Template Files. 最后,您只需要一个模板文件来满足您的需要。下面是示例性模板文件。

    <?php 
    /**
     * The template for displaying tag pages.
     *
     * @package WordPress
     * @subpackage Theme
     */ 
    ?>
    <?php get_header(); ?>
    
    <!-- tag | start -->
    <div class="row">
      <div class="col-xs-12">
        <?php the_archive_title( \'<div class="page-header"><h1 class="page-title">\', \'</h1></div>\' ); ?>
      </div>
    </div>
    <div class="row">
      <div class="col-xs-12">
        <?php if ( have_posts() ) : ?>
        <?php $description = get_the_archive_description(); ?>
        <?php if ( ! empty( $description ) ) :?>
        <div class="archive-description">
          <?php echo $description; ?>
        </div>
        <?php endif; ?>
        <?php while ( have_posts() ) : the_post(); ?>
        <!-- tag loop | start -->
        <div id="content" <?php post_class(); ?>>
          <div class="row">
            <div class="col-xs-12">
              <?php the_title( \'<div class="post-header"><h2 class="post-title">\', \'</h2></div>\' ); ?>
              <?php if ( has_post_thumbnail() ) : ?>
              <div class="entry-thumbnail">
                <?php the_post_thumbnail(); ?>
              </div><!-- .entry-thumbnail -->
              <?php endif; ?>
              <div class="entry-content">
                <?php the_excerpt(); ?>
              </div><!-- .entry-content -->
            </div>
          </div>
        </div><!-- #content -->
        <!-- tag loop | end -->
        <?php endwhile; ?>
        <?php endif; ?>
      </div>
    </div>
    <!-- tag  | end -->
    <?php get_footer(); ?>
    

    结束

    相关推荐

    Complex Taxonomy scheme

    我们正在建设一个度假村网站,我们面临着一个巨大的分类问题。一方面,我们有行政办公地点,如country>>region>>department 和“自然”位置,如mountain-range>>sub-mountain range. 这可以通过安排两种不同的分类法来进行分类,例如管理位置和自然位置。这听起来很容易,但当你意识到一些度假胜地共享两个或多个地方时,就不那么容易了。甚至有一个度假村同时属于三个欧洲国家!但我们也在处理其他类型的地点,如国家公园(例如,可以覆盖两