Получить сообщение и все сообщения после него по ID?

Может быть, это супер очевидно и смотрит мне в лицо, но я в тупике. Есть ли способ потянуть и отсортировать сообщения по ID? Я хотел бы получить произвольное сообщение, а затем x количество сообщений после него.

В частности, то, что я пытаюсь сделать, это построить карусель сообщений, и я бы хотел, чтобы первый элемент на каждом отдельном сообщении был текущим сообщением, а затем все последующее за ним. Я также хотел бы прокрутить карусель назад. Я использую JSON API-плагин для вызова AJAX, чтобы вытащить сообщения.

В основном я просто хочу добавить в запрос «WHERE post.id> = currentPost», но я не могу понять, где это реализовать. Я попытался использовать hook_where, но всегда получаю нулевые результаты.

Solutions Collecting From Web of "Получить сообщение и все сообщения после него по ID?"

Я думаю, что вы на правильном пути с posts_where , что-то вроде этого должно работать:

 <?php function my_filter_where($where){ global $my_current_id; $where .= " AND ID >= ".$my_current_id; return $where; } // random number I chose for sake of example $my_current_id = 30; add_filter('posts_where', 'my_filter_where'); $my_posts = new WP_Query("posts_per_page=5&orderby=ID&order=ASC"); remove_filter('posts_where', 'my_filter_where'); 

Простая сортировка по ID будет ненадежной. Простые идентификаторы не гарантируются как последовательные (даже если они обычно). Одним из примеров может быть импорт с пользовательскими идентификаторами, например.

Предлагаю заглянуть в get_adjacent_post() . Он извлекает только одно сообщение по умолчанию, но он имеет обширные перехваты для своего SQL-запроса, и LIMIT 1 кажется легко переопределяемым путем фильтрации get_{$adjacent}_post_sort .

Однако я не уверен, как / если это можно реализовать с помощью спецификаций JSON API.

PS Вам действительно нужно сделать это асинхронно через Ajax? Может быть, настройка JS-переменных с данными в источнике страницы будет работать лучше?