Заголовок повторителя расширенных пользовательских полей

Я пытаюсь отобразить заголовок изображения для поля повторителя расширенных настраиваемых полей (ACF) wordpress, и мне не повезло с тремя следующими вариантами:

<?php if($middle_image['image']): ?>

<?php $midimage = wp_get_attachment_image_src($middle_image['image']); ?>

<?php $caption = $midimage->post_excerpt; ?>

<?php $captiontwo = $middle_image['image']['caption'] ?>

<?php $captionthree = $middle_image['image']->post_excerpt; ?>

<?php $alt = get_post_meta($middle_image['image'], '_wp_attachment_image_alt', true); ?>

<?php $main_image = wp_get_attachment_image_src($middle_image['image'], 'two-column-cropped' ); ?>
<div class="two-column-cropped"><img src="<?php echo $main_image[0]; ?>" alt="<?php echo $alt ?>" />
<?php if($caption) { ?>
<div class="image_caption"><?php echo $caption; ?></div>
<?php } ?>
</div>

<?php endif; ?>

Мы ценим любые предложения. Благодарю.

3

Решение

wp_get_attachment_src() не получает никаких данных об изображении, кроме URL, высоты и ширины. Вы могли бы хотеть wp_get_attachment_metadata() однако я думаю, что вам лучше изменить поле ACF так, чтобы оно возвращало объект изображения (фактически массив) вместо идентификатора изображения (как я полагаю, он у вас есть сейчас).

ACF может возвращать любую из трех вещей для поля изображения: URL-адрес изображения, идентификатор вложения (который можно передать таким функциям, как: wp_get_attachment_image_src()), или же информация о вложении в виде массива.

Вы можете проверить, что получаете правильный ответ от ACF, используя var_dump($middle_image) или же var_dump($midimage)

Я предполагаю что $middle_image ваше поле повторителя

Если ACF настроен правильно для возврата объекта изображения (вместо URL-адреса изображения или идентификатора), вы можете просто удалить эту строку:

<?php $midimage = wp_get_attachment_image_src($middle_image['image']); ?>

а затем получить доступ к заголовку изображения с помощью $middle_image['image']['caption']

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]