显示标签中的所有帖子,而不必设置所有帖子

时间:2017-02-02 作者:Gabriel Souza

我创建了标签。php页面,当我单击帖子页面上的标记时,它会将我带到该标记。带有标记URL的php页面,例如:/tag/wordpress-1/。

我想显示标签的所有帖子,而不必设置所有帖子。

“tag”=>“post\\u tag”不起作用,它在页面上没有显示任何内容。

但当我设置标签时。例如“tag”=>“wordpress-1”,它会显示带有此标记的所有帖子,但我不想设置所有标记,我希望它是自动的。

<?php $paged = (get_query_var(\'paged\')) ? get_query_var(\'paged\') : 1;
    $args = array( \'post_type\' => \'post\', \'posts_per_page\' => 9, \'paged\' => $paged, \'tag\' => \'post_tag\' );
    $wp_query = new WP_Query($args);
    while ( have_posts() ) : the_post(); ?>
       <div class="noticia-index">
          <a href="<?php the_permalink(); ?>">
          <?php $backgroundImg = wp_get_attachment_image_src( get_post_thumbnail_id($post->ID), \'full\' );?>
          <div class="post-thumbnail" style="background: url(\'<?php echo $backgroundImg[0]; ?>\'); background-size: cover; background-position: center;">
          </div></a>
          <div class="noticia-index-conteudo"><a href="<?php the_permalink(); ?>"><h2 class="noticia-titulo"><?php the_title(); ?></h2></a>
          <div class="subtitulo-noticia"><?php the_excerpt(); ?></div>
          <span><img src="<?php echo get_stylesheet_directory_uri(); ?>/img/icones/calendar1.svg" class="calendar"></span>
          <span class="date"><?php echo get_the_date(); ?></span>
          <span><img src="<?php echo get_stylesheet_directory_uri(); ?>/img/icones/clock1.svg" class="clock"></span>
          <span class="time"><?php the_time(); ?></span>
          <span><img src="<?php echo get_stylesheet_directory_uri(); ?>/img/icones/bubble2.png" class="bubble"></span>
          <span class="disqus-comment-count comments" data-disqus-url="<?php the_permalink(); ?>#disqus_thread"></span>
          <a class="leia-mais" href="<?php the_permalink(); ?> ">Leia mais...</a>
         </div>
       </div>

        <?php endwhile; ?>

        <!-- Links de paginação -->
        <?php echo paginate_links( array(

            \'prev_text\' => \'<span>Anterior</span>\',
            \'next_text\' => \'<span>Próxima</span>\'

        ));
?>

2 个回复
SO网友:Anwer AR

WP default loop将自动显示当前标记为on的帖子tag.php 页您不需要为此设置自定义WP\\U查询,但请确保您没有从任何其他方法修改循环。

if( have_posts() ) : while( have_posts() ) : the_post();

   the_title();
  //Rest of code.

endwhile;
endif;

SO网友:Michael

但我想让它显示特定数量的帖子并分页。如果没有自定义WP\\U查询,我该怎么办?

如果您希望每页有不同数量的帖子,而不是在“设置-阅读-博客页面最多显示[]篇帖子”下设置,请尝试使用\'pre_get_posts\' action (删除自定义查询);

示例代码:

function wpse_254946_tag_query( $query ) {
    if ( is_admin() || ! $query->is_main_query() )
        return;

    if ( is_tag() ) {
        // Display certain number of posts per page for tag archives
        $query->set( \'posts_per_page\', 9 );
        return;
    }
}
add_action( \'pre_get_posts\', \'wpse_254946_tag_query\', 1 );
您现有的分页功能应该可以使用它。