Intereting Posts
Передача переменных через структуру контировки Возможно ли, что WordPress не распознает URL-адреса категории? создать импортера с импортером api Проблема с ajax-запросом и структурой каталогов после миграции сайта Каков лучший плагин или способ создания проверки электронной почты прямо сейчас? Функция вызова из функции functions.php возвращает нежелательное значение Как ленить Загрузка только выбранных изображений на выбранные страницы? Вывод детской темы из отдельной темы Крючки не удаляются в дочерней теме Получить информацию о usermeta из sql-запроса Неустранимая ошибка: вызов неопределенной функции wp_enqueue_media () Отображение заголовка и заголовка изображения внутри окна fancybox. Работать, но показывать один и тот же alt и заголовок для каждого изображения Как разделить сеанс WordPress и файлы cookie между доменом и субдоменом? Добавить пользовательскую таксономию под названием категории Виджет Logic – отображение на странице и всех дочерних

исключая текущий пост из get_posts

У меня есть этот код кода, отображаемый в шаблоне single.php

<ul class="cat-wrap"> <?php global $post; $categories = get_the_category(); foreach ($categories as $category) : ?> <h5>same from <?php echo $category->name; ?></h5> <?php $args = array( 'numberposts' => 5, 'category' => $category->term_id, 'post__not_in' => array( $post->ID ) ); $posts = get_posts($args); foreach($posts as $post) : ?> <li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li> <?php endforeach; ?> <li><a href="<?php echo get_category_link($category->term_id);?>" title="View all posts filed under <?php echo $category->name; ?>">جميع مقالات قسم <?php echo $category->name; ?></a></li> <?php endforeach; ?> </ul> 

цикл работает отлично, за исключением 'post__not_in' => array( $post->ID ) ведет себя странным образом. чтобы объяснить больше, если у меня есть должность, которая разделяет 4 разных категории. сгенерированный код следующий

 <ul> <h5>same from Cat1</h5> <li>another article 1</li> <li>another article 2</li> <li>another article 3</li> <li>another article 4</li> <h5>same from Cat2</h5> <li>Current Article</li> <li>another article 1</li> <li>another article 2</li> <li>another article 3</li> <h5>same from Cat3</h5> <li>Current Article</li> <li>another article 1</li> <li>another article 2</li> <li>another article 3</li> <h5>same from Cat4</h5> <li>Current Article</li> <li>another article 1</li> <li>another article 2</li> <li>another article 3</li> 

как вы можете заметить только <h5>same from Cat1</h5> что исключает текущую запись, остальные включают в себя и исключая какую-либо другую случайную запись.

спасибо заранее, и я надеюсь, что мне удалось объяснить мою проблему.

Solutions Collecting From Web of "исключая текущий пост из get_posts"

Вы переписываете значение $post при выводе первого набора сообщений, поэтому он больше не тот же пост-объект, что и ваш единственный пост.

Вы можете либо wp_reset_postdata() после каждого цикла (который вы должны делать после последнего в любом случае), либо назначить $post->ID для какого-либо другого var перед циклом, а вместо этого ссылаться, чтобы он не перезаписывался.