Intereting Posts
Пользовательский запрос не работает на странице администрирования плагина WordPress только как бэкэнд. Как выводить содержимое базы данных на публичной стороне без WordPress? Автоматическое создание паролей пользователей сайта Пользовательское поле в качестве заголовка изображения Индекс со ссылками и выдержками из подстраниц, отсортированных по заказу меню навигации Список публикаций на главной странице Как изменить URL-адрес приложения wordpress и защитить его? Что такое поле описания при загрузке изображения? fatal Ошибка undefined function switch_to_blog () Журнал звонков Как использовать экспорт WP и получать изображения, которые содержатся в галерее сообщений woocommerce_checkout_order_processed функция выполнения крюка дважды WP Job Manager Пользовательская постоянная ссылка Возвращает 404 Ошибки Предоставление WordPress собственного каталога вместе с index.html 302 перенаправить на регистрацию с обратным прокси-сервером nginx

Связанный запрос показывает то же изображение в цикле

Я использую следующий код, чтобы запросить все другие сообщения с одинаковым значением в настраиваемом поле FeaturedArtists. Прекрасно работает, кроме изображений. Все изображения те же, что и в текущем сообщении. Если я изменю catch_that_image в the_post_thumbnail, это произойдет.

<?php $FeaturedArtist = get_post_meta($post->ID, 'FeaturedArtist', true); if($FeaturedArtist): ?> <?php $chapters = get_posts('numberposts=-1&meta_key=FeaturedArtist&orderby=date&order=ASC&meta_value='.$FeaturedArtist); foreach($chapters as $chapter):?> <div class="box more"> <?php if($chapter->ID != $post->ID): ?> <a href ="<?php echo get_permalink($chapter->ID); ?>" alt="CONTEST ENTRY by <?php the_title(); ?>" title="CONTEST ENTRY by <?php the_title(); ?> "> <img src="<?php echo catch_that_image() ?>" width="625px" alt="<?php the_title(); ?>"/> <div class="articleTitle"> <span class="titleType">CONTEST ENTRY<br /><span class="titleArticle"><?php the_title(); ?></span></span> </div> </a> <?php endif; ?> </div> <?php endforeach; ?> <?php endif; ?> 

Кто-нибудь знает, как это исправить? Спасибо, что помогли мне!

Вероятно, потому что catch_that_image() получает глобальный $post_id то же самое с the_post_thumbnail() в вашем коде, вы можете передать идентификатор вашей текущей главы catch_that_image($chapter->ID) или the_post_thumbnail( $chapter->ID ) это должно решить ваша проблема или вы можете попробовать этот код, он должен работать.

 <?php global $post; $current_post = get_the_ID(); $FeaturedArtist = get_post_meta($current_post, 'FeaturedArtist', true); if($FeaturedArtist): $chapters_args = array( 'posts_per_page' => -1, 'meta_key' => 'FeaturedArtist', 'meta_value' => $FeaturedArtist, 'orderby' => 'date', 'post__not_in' => array( $current_post ) ); $chapters = get_posts( $chapters_args ); foreach( $chapters as $post ): setup_postdata( $post ); ?> <div class="box more"> <a href="<?php echo esc_url( get_permalink() ); ?>" alt="CONTEST ENTRY by <?php echo esc_attr( get_the_title() ); ?>" title="CONTEST ENTRY by <?php echo esc_attr(get_the_title()); ?> "> <img src="<?php echo catch_that_image() ?>" width="625px" alt="<?php echo esc_attr( get_the_title()); ?>"/> <div class="articleTitle"> <span class="titleType">CONTEST ENTRY<br /><span class="titleArticle"><?php the_title(); ?></span></span> </div> </a> </div> <?php endforeach; wp_reset_postdata(); endif; ?> 

Что происходит здесь, я просто разделил ваш код на немного более читаемый, и в цикле foreach я использовал setup_postdata() который используется для установки глобальных почтовых данных, и с этим вы можете использовать теги шаблона, не требуя передайте идентификатор для функций, вы можете использовать get_the_permalink() вместо get_the_permalink($chapter->ID) а после цикла foreach я просто «очистил» данные сообщения исходными данными для этой страницы, используя wp_reset_postdata()