matt
  • 0
Мастер

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

  • 0

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

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

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

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

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

    $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, хотя… поэтому обычно это не моя первая рекомендация, но она должна работать в вашем случае.

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

    Для справки:

    • 0

Оставить ответ

You must login to add an answer.