Кто-нибудь знает, как вывести на странице статьи 3 предыдущих поста? Допустим, я нахожусь на странице публикации статьи и хотел бы отображать изображения трех предыдущих сообщений (на основе сообщения, которое я сейчас читаю) под его содержанием, но не изображения следующих сообщений . Я пытался сделать это с помощью настройки смещения в запросе базы данных, но безуспешно. Может кто-нибудь помочь мне с этим? Я был бы очень признателен за любую помощь или, по крайней мере, указывал мне в правильном направлении.

0
Pavel 12 Авг 2010 в 14:57

2 ответа

Лучший ответ

Это не должно быть слишком сложно, если вы используете поле id со значениями автоматического увеличения, вы можете сделать что-то вроде этого:

SELECT id, name FROM articles WHERE id < {current_id} ORDER BY id DESC LIMIT 3;

Очевидно, замените {current_id} на идентификатор статьи, которую вы сейчас читаете.

1
Guido Hendriks 12 Авг 2010 в 11:07

После отображения определенного сообщения создайте новый WP_Query, чтобы получить 3 сообщения, предшествующие дате публикации отображаемого сообщения. На этой странице документации описано, как запрашивать сообщения с относительной датой (например, в примере < strong> Возвращать сообщения за последние 30 дней ). Основывайте запрос на времени публикации отображаемого сообщения.

Пример включает способ предоставить предложение WHERE запросу с помощью add_filter (). Я не уверен, но думаю, вам нужно вызвать remove_filter после выполнения запроса, иначе этот фильтр может применяться и к другим запросам.

1
Kwebble 12 Авг 2010 в 11:44