代码之家  ›  专栏  ›  技术社区  ›  jessica mele

将每页的帖子分成两部分

  •  0
  • jessica mele  · 技术社区  · 7 年前

    我有一个名为“视频”的自定义帖子类型,我正在使用高级自定义字段插件和一个选择字段作为过滤器,以指定帖子部分在我的页面上的显示位置。我有两个栏目,一个叫做“我们的工作”,另一个叫做“特色电影”。我需要每个栏目显示最新的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 回复  |  直到 7 年前
        1
  •  1
  •   1Bladesforhire    7 年前

    您想对acf字段使用元查询。 https://www.advancedcustomfields.com/resources/query-posts-custom-fields/

    我个人会使用2个变量作为2个循环进行调试,等等。

    $work_loop = new WP_Query( 
      array( 
        'post_type' => 'videos', 
        'posts_per_page' => 4,
        'meta_key'      => 'labeled_as',
        'meta_value'    => 'our work'
       ) 
    );
    

    这将仅获取具有该标签的帖子。按照当前的方式,您将获得4个结果,然后筛选标签。因此,如果其他标签中有3个,则仅显示1个结果。这会让你看到4个。只需更改第二个循环的元值,就可以开始了。