显示来自一系列海关税的第一个帖子的页面?

时间:2014-10-24 作者:user4630

是否可以让页面显示自定义分类法中每个类别的第一篇文章?

e、 g海关税称为画廊部分,其中有一系列类别,即画廊1、画廊2等。

页面需要显示每个类别的第一篇文章,例如Gallery 1、Gallery 2等的第一篇文章。因此本质上是一个用于导航到每个类别区域的页面。

目前我只是这样做,但它不是很有活力,只是手动输入每个类别。

<?php query_posts( array( \'post_type\' => \'gallery-section\',\'gallery-area\' => ‘gallery-1\',\'posts_per_page\' => \'1\') ); ?> 

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

        <div class="col span_1_of_4 gallery_block">

            <a href="<?php the_permalink() ?>">
            <?php the_title(); ?>
            </a>

        </div>

         <?php endwhile; endif; wp_reset_query();?> 



<?php query_posts( array( \'post_type\' => \'gallery-section\',\'gallery-area\' => ‘gallery-2\',\'posts_per_page\' => \'1\') ); ?> 

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

        <div class="col span_1_of_4 gallery_block">

            <a href="<?php the_permalink() ?>">
            <?php the_title(); ?>
            </a>

        </div>

         <?php endwhile; endif; wp_reset_query();?> 
希望我已经解释得足够清楚了。。

1 个回复
SO网友:John112

如果我理解得很好,下面的代码片段应该可以满足您的需要。

我假设您的“gallery area”分类法中有四项,并且您应用于div的类必须相应地改变(即span\\u 1\\u of\\u 4必须变成span\\u 2\\u of\\u 4,等等)。

<?php 
$gt_args = array(\'fields\' => \'ids\');
$terms = get_terms(\'gallery-area\', $gt_args); //retrieve ID of the terms of \'gallery-area\' taxonomy
$counter = 1;

foreach ($terms as $term){ //for each term (i.e. gallery-area-1, 2, 3 and 4) contained in $terms

    $gp_args = array(
                    \'post_type\' => \'gallery-section\',
                    \'gallery-area\' => $term ,
                    );
    $all_posts = get_posts( $gp_args ); //get all posts  
    $cover_post = $all_posts[0]; // take only the first one

    echo \'<div class="col span_\' . $counter . \'_of_4 gallery_block">\';
?>
              <a href="<?php get_permalink($cover_post->ID); ?>"> //$cover_post is a post object 
              <?php $cover_post->post_title ?>
              </a>

          </div>
<?php
    $counter++;
}
?>
请注意$cover_post 是一个post object;

EDIT 在get\\u post中,术语ID可能不会像这样工作。您可能需要尝试使用以下参数,而不是上面的参数。让我知道。。

    $gp_args = array(
                    \'post_type\' => \'gallery-section\',
                    \'tax_query\' => array(
                                            array(
                                                    \'taxonomy\' => \'gallery-area\',
                                                    \'terms\' => $term, 
                                                 ),
                                        ),
                    );

结束

相关推荐

使用新的WP-Query()从循环中过滤后期格式;

嗨,我目前正在为我的博客构建一个主题。下面的代码指向最新的帖子(特色帖子)。因为这将有一个不同的风格比所有其他职位。然而我想过滤掉帖子格式:链接使用我在循环中定义的WP查询,因为它给我带来了更多的灵活性。我该怎么做呢? <?php $featured = new WP_Query(); $featured->query(\'showposts=1\'); ?> <?php while ($featured->have_post