Отображать изображения, зная их идентификатор

#wordpress #wordpress-theming #advanced-custom-fields

#wordpress #wordpress-тематизация #дополнительно-пользовательские-поля

Вопрос:

Я пытаюсь использовать дополнение к полю галереи для плагина ACF WordPress. Дополнением является Navz Photo Gallery. Все, что он делает, это дает вам возможность получить идентификаторы фотографий из галереи. Теперь я хочу фактически отобразить изображения.

Путем вызова следующего кода

 <?php if ( get_field( 'field_name') ) { ?>
    <img src="<?php the_field( 'field_name' ); ?>" />
<?php } ?>
 

все, что я получаю, — это фактические идентификаторы, вот так:

 <img src="21,22,23">
 

Кто-нибудь знает, как перебирать эту группу изображений и отображать их по отдельности, а не только идентификатор, но и само изображение?

Для справки, у ACF есть официальное (платное) дополнение gallery, и оно отображает прикрепленные изображения следующим образом:

 <?php $images = get_field('gallery'); if( $images ): ?>
<?php foreach( $images as $image ): ?>
    <img src="<?php echo $image['url']; ?>" alt="<?php echo $image['alt']; ?>" />
<?php endforeach; ?>
<?php endif; ?>
 

Ответ №1:

Navz помог мне в этом:

 <?php
$images = get_field('fotos_do_projeto'); if( $images ): $images = explode(',', $images); $images = array_filter($images); if( count($images)):
?>
    <ul>
    <?php foreach( $images as $image ): $alt = get_the_title($image); $url = get_post_meta($image, 'field_5802bd6e39e9b_url', true); ?>
        <li>
            <a href="<?php echo $url; ?>" title="<?php echo $alt; ?>">
                <?php echo wp_get_attachment_image($image, "thumbnail", false, ['alt' => $alt]); ?>
            </a>
        </li>
    <?php endforeach; endif; ?>
    </ul>
<?php endif; ?>
 

Ответ №2:

Вы можете попробовать это,

     $attachment_id = get_field( 'field_name');
    $image_attributes = wp_get_attachment_image_src( $attachment_id );
    if ( $image_attributes ) : ?>
        <img src="<?php echo $image_attributes[0]; ?>" width="<?php echo $image_attributes[1]; ?>" height="<?php echo $image_attributes[2]; ?>" />
   <?php endif; ?>
 

Комментарии:

1. Спасибо, что уделили нам время