Вызов изображения с помощью ACF Выберите тип поля - PullRequest
0 голосов
/ 28 апреля 2020

Я использую расширенные настраиваемые поля в сборке Wordpress и добавил Выбрать Тип поля для вложений изображений. Имя поля равно image_category, и у меня есть три варианта: top, middle, bottom. Эти изображения будут вызываться вокруг нескольких частей сайта в разных итерациях. В некоторых разделах есть несколько изображений, которые я хочу показать вместе, но их нужно заказывать в случайном порядке. В нижнем примере я вызываю только одно изображение с выбранной категорией bottom. Это, кажется, не находит изображение, однако, это могло быть полевой проблемой? Я не понял, как вызывать эти изображения с помощью функции $get_field(), которая в моей голове кажется проще, чем таксономии? Любая помощь очень ценится!

<?php // Get Banner Advertisement Posts
$banneradverts = array(
    'posts_per_page'    => 1,
    'post_type'         => 'attachment',
    'post_status'       => 'any',
    'orderby'           => 'rand',
    'tax_query'         => array(
        array(
            'taxonomy'  => 'image_category',
            'field'     => 'slug',
            'terms'     => 'bottom',
            ),
        ),
    );
$banners = new WP_Query( $banneradverts );

while ( $banners->have_posts() ) : $banners->the_post();?>
<section id="bottom">
    <div class="bottom-image">
        <?php echo wp_get_attachment_image( get_the_ID(), 'full'); ?>
    </div>
</section>          
<?php endwhile;     
wp_reset_query(); ?>

1 Ответ

0 голосов
/ 30 апреля 2020
<?php
$args = array(
    'posts_per_page'    => 1,
    'post_type'         => 'attachment',
    'post_status'       => 'any',
    'orderby'           => 'rand',
    'meta_key'          => 'image_category',
    'meta_value'        => 'bottom',
    );
$the_query = new WP_Query( $args );
?>
<?php if ( $the_query->have_posts() ) : ?>

<?php while ( $the_query->have_posts() ) : $the_query->the_post(); ?>
<section id="bottom">
    <div class="bottom-image">
        <?php echo wp_get_attachment_image( get_the_ID(), 'full'); ?>
    </div>
</section>          
<?php endwhile; ?>
<?php wp_reset_postdata(); ?>

<?php endif; ?>
...