Задать вопрос
@shuffler_agr0s
dev

Как получить следующий и предыдущий пост опираясь на значение поле ACF?

Обычное получение с помощью функций get_previous_post() и get_next_post() не достаточно. Пост типа projectхранит в себе запароленный и архивные поля как указано на картинке. 61df524ea1e00706090969.png
Необходимо получить следующий\предыдущий пост, с условием, что это пост хранит в себе значение normal в поле ACF
  • Вопрос задан
  • 78 просмотров
Подписаться 1 Сложный 1 комментарий
Пригласить эксперта
Ответы на вопрос 1
@easycode
не боюсь задавать глупые вопросы ))
посмотрите здесь: https://wordpress.stackexchange.com/questions/1394... - похоже это то что вам нужно!

в $next_posts - можно запихнуть все ID'шники постов которые больше > $current_post_id

$_next_post = new WP_Query( [
  'posts_per_page' => 1,
  'post_type'      => 'projects',
  'post_status'    => 'publish',
  'meta_query'     => [
    'type' => [
      'key'       => 'type',
      'value' => [ 'archive', 'commin_soon' ],
    ],
  ],
  'post__not_in'   => $next_posts,
  'orderby' => 'ID',
  'order' => 'ASC',
] );


костыльно конечно же, но если по другому то нужно свой SQL-запрос писать, ведь не понятно как добавить в WP_Query дополнительное условие WHERE `ID` > $current_post_id

UPD:
$next_posts - некоторые получают так:
$next_posts = range(1, 555);
555 - от балды написано, можно конечно посчитать сколько у вас всего постов с 'post_type' = 'projects', и 'post_status' = 'publish' и у которых WHERE `ID` > $current_post_id ))
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы