Разбейте посты на странице в двух разделах - PullRequest
0 голосов
/ 18 мая 2018

У меня есть пользовательский тип записи, который называется 'videos', и я использую плагин Advanced Custom Fields с полем выбора, чтобы использовать его в качестве фильтра, чтобы указать, где часть публикации будет отображаться на моей странице.У меня есть два столбца, один из которых называется «наша работа», а другой - «Избранные фильмы». Мне нужно, чтобы в каждом разделе отображались последние 4 сообщения, но когда я изменяю posts_per_page, это влияет на общее количество, есть ли способ ограничить его только 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 Ответ

0 голосов
/ 19 мая 2018

Вы хотите использовать мета-запросы для полей 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, который покажет.Просто измените мета-значение для второго цикла, и все будет хорошо.

...