将每页的帖子分成两部分

时间:2018-05-18 作者:jessica mele

我有一个名为“视频”的自定义帖子类型,我正在使用高级自定义字段插件和一个选择字段作为过滤器,以指定帖子部分在我的页面上的显示位置。我有两个栏目,一个叫做“我们的工作”,另一个叫做“特色电影”。我需要每个栏目显示最新的4篇文章,但当我更改每页的posts\\u时,它会影响总数,是否有办法将其限制为每个查询仅4篇?子问题相同的查询可以运行两次吗?我的代码是:

<div class="triple ourWork col-sm-6">
    <h2>Our Work</h2>
<?php $loop = new WP_Query( array( \'post_type\' => \'videos\', \'posts_per_page\' 
=> 4) ) ?>
<?php while ( $loop->have_posts() ) : $loop->the_post(); /* start the loop */ ?>

<?php if( get_field(\'labeled_as\') == \'our work\' ): ?>
    <div class="col-sm-6" id="">
        <?php global $post; 
            $gethref = $post->post_name;
        ?>
    <div class="holder" style="background-image: linear-gradient(0deg,rgb(38, 38, 42, .5),rgb(38, 38, 42, .5)), url(<?php echo the_field(\'screenshot\'); ?>);"><a href="/<?php echo $gethref ?>"><span class="play"><?php the_title(); ?></span></a></div>
        <p><?php echo the_field(\'issue_short_description\'); ?></p>
    </div>
<?php endif; ?>

<?php endwhile; ?>
</div>

<div class="triple featuredFilms col-sm-6">
    <h2>Featured Films</h2>
<?php $loop = new WP_Query( array( \'post_type\' => \'videos\', \'posts_per_page\' 
=> 4 ) ) ?>
<?php while ( $loop->have_posts() ) : $loop->the_post(); /* start the loop */ ?>

<?php if( get_field(\'labeled_as\') == \'featured film\' ): ?>
    <div class="col-sm-6" id="">
        <?php global $post; 
            $gethref = $post->post_name;
        ?>
    <div class="holder" style="background-image: linear-gradient(0deg,rgb(38, 38, 42, .5),rgb(38, 38, 42, .5)), url(<?php echo the_field(\'screenshot\'); ?>);"><a href="/<?php echo $gethref ?>"><span class="play"><?php the_title(); ?></span></a></div>
        <p><?php echo the_field(\'issue_short_description\'); ?></p>
    </div>
<?php endif; ?>

<?php endwhile; ?>
</div>

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

我想你让事情变得更加困难了,

如果我理解正确,您希望显示最新的4个“视频”,它们在您的第一列中标记为“我们的作品”,在下一列中标记为“特色电影”,因此您应该实际添加custom field parameter to your query,

$args = array(
  \'post_type\' => \'videos\',
  \'posts_per_page\' => 4 ,
  \'meta_key\' => \'labeled_as\',
  \'meta_value\' => \'our work\'
);
$loop = new WP_Query( $args);
while ( $loop->have_posts() ) { 
  //display your work videos
}
$args = array(
  \'post_type\' => \'videos\',
  \'posts_per_page\' => 4 ,
  \'meta_key\' => \'labeled_as\',
  \'meta_value\' => \'featured film\'
);
$loop = new WP_Query( $args);
while ( $loop->have_posts() ) { 
  //display your featured videos
}
/* Restore original Post Data */
wp_reset_postdata();
备注:

  1. Reset your postdata (上例中的最后一个函数调用)这对于确保WP请求在页面的其余部分正常继续非常重要
  2. 我建议您使用自定义字段“label\\u as”来组织“视频”,而不是使用自定义字段taxonomy, 这将允许您在站点开发的后期阶段利用更多的WP功能

结束

相关推荐

Ajax Filtering Pagination

我知道这是一个常见的问题,但我找不到解决办法。我在用户点击复选框时进行了ajax过滤。在用户单击分页之前,一切都正常。当然,我们现在使用的是管理ajax。php页面和分页链接不工作。这是代码。HTML复选框:<input type=\"checkbox\" id=\"telegram_chk\" checked> <input type=\"checkbox\" id=\"twitter_chk\" checked> <input type=\"checkbo