存档.php中的2个循环(每个类别一个)

时间:2013-07-11 作者:user1374796

我为我正在构建的网站上的新闻博客设置了一个自定义帖子类型,自定义帖子类型为blog 由2类组成,blog-image-post ID号=3blog-text-post ID号=4. 我想分别循环每个类别,因为每个类别在归档中的显示和样式略有不同。我目前有:

    <div id="blog-grid">


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

        <div class="blog-grid">
            <img class="blog-image" src="url-here" width="100" height="100" />
        </div>

<?php endwhile; endif; ?>   

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

        <div class="blog-grid-text">
            <div class="blog-grid-text-wrap">
                <?php the_title(); ?> etc etc
            </div>
        </div>

<?php endwhile; endif; ?>

    </div>
第一个循环是blog-image-post ID号=3 第二个循环blog-test-post ID号=4, 我不确定这是否有可能?我想不出来,任何建议都将不胜感激!

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

只要有条件地切换即可。这个rewind_posts() 函数允许您再次循环相同的循环,而has_term() 函数允许您检查当前循环的帖子是否具有特定分类法的特定术语。

if ( have_posts() )
{
    while ( have_posts() )
    {
        the_post();

        if ( ! has_term( \'term_A_slug/term_A_id\', \'taxonomy\' ) )
            continue;

        // display post here
    }
}
rewind_posts();

// Second loop
if ( have_posts() )
{
    while ( have_posts() )
    {
        the_post();

        if ( ! has_term( \'term_B_slug/term_B_id\', \'taxonomy\' ) )
            continue;

        // display post here
    }
}

结束

相关推荐

Get categories without post

我想得到没有帖子的类别。下面是使用post获取类别的sql。。SELECT terms.term_id,terms.name,COUNT(post.ID) FROM wp_posts as post JOIN wp_term_relationships as rel ON post.ID = rel.object_ID JOIN wp_term_taxonomy as ttax ON rel.term_taxonomy_id = ttax.term_taxonomy_id JOI

存档.php中的2个循环(每个类别一个) - 小码农CODE - 行之有效找到问题解决它

存档.php中的2个循环(每个类别一个)

时间:2013-07-11 作者:user1374796

我为我正在构建的网站上的新闻博客设置了一个自定义帖子类型,自定义帖子类型为blog 由2类组成,blog-image-post ID号=3blog-text-post ID号=4. 我想分别循环每个类别,因为每个类别在归档中的显示和样式略有不同。我目前有:

    <div id="blog-grid">


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

        <div class="blog-grid">
            <img class="blog-image" src="url-here" width="100" height="100" />
        </div>

<?php endwhile; endif; ?>   

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

        <div class="blog-grid-text">
            <div class="blog-grid-text-wrap">
                <?php the_title(); ?> etc etc
            </div>
        </div>

<?php endwhile; endif; ?>

    </div>
第一个循环是blog-image-post ID号=3 第二个循环blog-test-post ID号=4, 我不确定这是否有可能?我想不出来,任何建议都将不胜感激!

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

只要有条件地切换即可。这个rewind_posts() 函数允许您再次循环相同的循环,而has_term() 函数允许您检查当前循环的帖子是否具有特定分类法的特定术语。

if ( have_posts() )
{
    while ( have_posts() )
    {
        the_post();

        if ( ! has_term( \'term_A_slug/term_A_id\', \'taxonomy\' ) )
            continue;

        // display post here
    }
}
rewind_posts();

// Second loop
if ( have_posts() )
{
    while ( have_posts() )
    {
        the_post();

        if ( ! has_term( \'term_B_slug/term_B_id\', \'taxonomy\' ) )
            continue;

        // display post here
    }
}

相关推荐

如何将自定义选项添加到wp_Dropdown_Categories?

我需要将自定义选项添加到wp_dropdown_categories. 现在,整个万维网世界还没有找到解决方案。。。因此,我在这里要求一个解决方案……因为我真的无法想象WordPress的开发人员没有考虑到这将永远不需要,对吗?