Intereting Posts
Как изменить содержимое панировочных сумок Woocommerce? Добавить «Выбрать все» в пользовательскую таксономию Исключить категорию из get_the_category Пользовательские типы сообщений – удалить оповещения по умолчанию после пустого массива? Поиск по сообщению id на определенной странице, затем авто-перенаправление на поиск по почте Страница для входа в систему пользователя для редактирования / удаления собственного контента? Где разместить PHP-код, который вставляет (или не вставляет) пункт меню? Должен ли я размещать форум поддержки на wordpress.org или на моем собственном веб-сайте? Hardcoding и производительность WordPress Как загрузить и установить базу данных плагинов удаленно Советы по таргетингу виджета для WP Pointer на странице widgets.php Удалить категорию из ссылки меню Я хочу удалить последний после wp_nav_menu использовать функцию внутри другой функции в WP Plugin get_usermeta () устарел в пользу get_user_meta (). Но почему он не использует его?

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

Я использую следующий код, чтобы запросить все другие сообщения с одинаковым значением в настраиваемом поле 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; ?> 

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

Solutions Collecting From Web of "Связанный запрос показывает то же изображение в цикле"

Вероятно, потому что 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()