Объект записи WordPress получает заголовок страницы, а не заголовок объекта

#wordpress #repeater #advanced-custom-fields #postdata

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

Вопрос:

У меня есть ACF repeater, который повторяет объекты post. Я изменяю postdata на объект post, а не на страницу, чтобы я мог получить заголовок и уменьшенное изображение. Это отлично работает для первого объекта, однако последующие объекты отображают правильный эскиз, но заголовок извлекается из заголовка страницы.

Вот код:

 <?php if( have_rows('service_repeater') ): ?>
<?php while ( have_rows('service_repeater') ) : the_row(); ?>

    <?php $post_object = get_sub_field('service'); ?>

    <?php if( $post_object ): ?>
        <?php $post = $post_object; ?>
        <?php setup_postdata( $post ); ?>
        <?php $url = wp_get_attachment_url( get_post_thumbnail_id($post->ID) ); ?>
        <a href="<?php the_permalink(); ?>" class="service">
            <div class="background" style="background-image: url('<?php echo $url; ?>');"></div>
            <div class="content">
                <h3><?php the_title(); ?></h3>
                <p><?php the_field('read_more_text'); ?></p>
            </div>
        </a>
        <?php unset($post_object, $post); ?>
        <?php wp_reset_postdata(); ?>
    <?php endif; ?>

<?php endwhile; ?>
  

Любая помощь была бы высоко оценена!

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

1. Хорошо, итак, я удалил <?php unset($post_object, $post); ?> , и это сработало отлично. Вызовет ли это у меня проблемы позже, хотя и в отношении переменных??

Ответ №1:

Хорошо, итак, я удалил <?php unset($post_object, $post); ?> , и теперь это работает. Однако я обеспокоен тем, что позже это доставит мне проблемы с переменными.