Создайте цикл с Публикациями, Упорядоченными по самым последним комментариям

wordpress.stackexchange https://wordpress.stackexchange.com/questions/2287

  •  16-10-2019
  •  | 
  •  

Вопрос

Используя query_posts, как я могу упорядочить список сообщений, чтобы те, у кого самые последние комментарии, были вверху?

Я ищу что-то похожее на то, как упорядочиваются вопросы здесь, в SE, при сортировке по "Активным".

Это было полезно?

Решение

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

Скорее, я бы использовал пользовательский запрос.Что вам нужно будет сделать, так это запросить одобренные комментарии, отсортированные по дате их публикации / утверждения, и объединить их с записями в вашей базе данных.Если в публикации нет комментариев, она автоматически будет отфильтрована на основе этого критерия.

A очень просто пример псевдокода:

$qstr = 'SELECT * FROM wp_posts ON (wp_posts.post_id = wp_commnets.comment_post_id) WHERE wp_comments.comment_approved='approved' ORDER BY wp_comments.comment_date';
$my_query = new WP_Query($qstr);

while($my_query->have_posts() ...

По сути, вы выбираете публикации на основе определенных критериев, связанных с данными в таблице комментариев.Однако использование прямого запроса требует определенной глубины знаний относительно операторов SQL и структуры базы данных WP...так что обычно это не моя первая рекомендация, но в вашем случае она должна сработать.

Просто помните, что приведенный выше код является псевдокодом ...это означает, что я придумал это навскидку, это может не сработать, и вам следует использовать это только как концептуальный пример.

Для справки:

Лицензировано под: CC-BY-SA с атрибуция
Не связан с wordpress.stackexchange
scroll top