仅显示带有特定标签的帖子

时间:2015-11-09 作者:TheZeph

如何仅显示带有特定标记的帖子?这是我的循环:

<?php 
    if ( have_posts() ) { 
        while ( have_posts() ) { 
            the_post(); 
            get_template_part( \'entry\' ); 
            comments_template(); 
            }
        }
?>
我尝试了很多不同的方法,但似乎都没办法解决。我还认为我在PHP和Wordpress的工作方式方面缺少了一些重要的东西。

我应该使用is_tag 如果是,怎么做?

编辑:

我想在首页(索引)上显示三列文章,每列只显示带有特定标记的文章,每个列都是唯一的。类似于:

|第1列标记1 |第2列标记2 |第3列标记3|

提前感谢!

Sollution with help from Blaine:

<div style="background-color:blue;width:33%;float:right;">
    <?php
        $right = new WP_Query( array(
           \'posts_per_page\' => -1,
            \'no_found_rows\'  => true,
            \'tag\'            => \'right\'
        ) );
        if ( $right->have_posts() ) :

            while ( $right->have_posts() ) : $right->the_post();

            the_post(); 
            get_template_part( \'entry\' ); 
            comments_template(); 

        endwhile; wp_reset_postdata();

        endif;
    ?>
</div>

<div style="background-color:green;width:33%;float:right;">
    <?php
        $middle = new WP_Query( array(
            \'posts_per_page\' => -1,
            \'no_found_rows\'  => true,
            \'tag\'            => \'middle\'
        ) );

        if ( $middle->have_posts() ) :

            while ( $middle->have_posts() ) : $middle->the_post();

            the_post(); 
            get_template_part( \'entry\' ); 
            comments_template(); 

            endwhile; wp_reset_postdata();

        endif;
    ?>
</div>

<div style="background-color:yellow;width:33%;">
    <?php
        $left = new WP_Query( array(
            \'posts_per_page\' => -1,
            \'no_found_rows\'  => true,
            \'tag\'            => \'left\'
        ) );

        if ( $left->have_posts() ) :

            while ( $left->have_posts() ) : $left->the_post();

            the_post(); 
            get_template_part( \'entry\' ); 
            comments_template(); 

            endwhile; wp_reset_postdata();

        endif;
    ?>
</div>
我将此代码放入索引中。php,它就像一个魔咒:)

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

看看tag parametersWP_Query class.

您很可能需要创建三个单独的查询。

<?php
$query = new WP_Query( array(
    \'posts_per_page\' => -1,
    \'no_found_rows\'  => true,
    \'tag\'            => \'tag1\'
) );

if ( $query->have_posts() ) :

    while ( $query->have_posts() ) : $query->the_post();

        // the_title();

    endwhile; wp_reset_postdata();

endif; ?>

相关推荐

Use Tags to initiate Search

首先,我是Wordpress和PHP的新手,如果这是一个基本问题,我深表歉意。我安装了Wordpress,每篇文章都用标签标记,这些标签包含以下链接:href=domain.com/index.php/tag/TAGNAME 但我希望链接是:href=domain.com/index.php/search/TAGNAME 据我所知,我需要改变get_tag_link() 但所做的就是使用get_term_link() 然后我完全迷路了。是否有一个函数If(tag){ return \"