Intereting Posts
Создание динамического пути к wp-blog-header.php Почему я должен использовать «Организовать мои закачки в месячные и годные папки»? (Против / Доводы) Добавление контента в таксономический обмен Вызов неопределенной ошибки функции в плагине Создание пользовательского виджета, который включает в себя тинимус и работает в Site Origin Page Builder как фильтровать каждый элемент тега? Функция импорта теряет теги <p> Включение сеансов в WordPress 3.0 Правильный способ использования функций плагина в functions.php Почему цикл WordPress использует немодифицированный массив сообщений, почему? Изменение порядка сортировки для представления с помощью Jetpack бесконечной прокрутки что является лучшим способом добавить вещи в боковую панель Показывать продукт по окончательному членскому профилю поставщиков, присвоенный администратором posts_nav_link вытягивает несколько типов сообщений Как уведомить администратора о том, что произошло во время работы cron

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