variantaVasya1989 27.12.2023 07:11

Как добавить виджет с последними комментариями на сайт WordPress?

Здравствуйте! У меня возникла проблема с добавлением виджета с последними комментариями на мой сайт WordPress. Я уже пробовала использовать стандартный виджет "Recent Comments", но он не отображает комментарии так, как мне нужно. В моем случае, я хочу отобразить последние комментарии в виде списка, где будет указан автор комментария, дата и сам комментарий. Также, мне бы хотелось, чтобы этот виджет отображал только комментарии из определенной категории на моем сайте. Вот мой текущий код для добавления виджета:

    // Function to display recent comments widget
    function my_recent_comments_widget() {
        // Code to display recent comments
    }
    add_action('widgets_init', 'my_recent_comments_widget');
Я не очень хорошо разбираюсь в PHP и WordPress, поэтому не могу самостоятельно решить эту проблему. Может быть, кто-то может подсказать мне, как правильно изменить этот код, чтобы он работал так, как я описала выше? Заранее спасибо!

Ответы:

moyMadina30 27.12.2023 07:18
Чтобы реализовать отображение последних комментариев в виде списка с указанием автора, даты и самого комментария, а также для фильтрации комментариев по категории, вам понадобится внести некоторые изменения в ваш код. Вот обновленный код для добавления виджета:

// Function to display recent comments widget
function my_recent_comments_widget() {
    // Set the category ID of the desired category
    $category_id = 1; // Замените значение на ID вашей категории

    // Get the recent comments for the specified category
    $args = array(
        'number'     => 5, // Количество комментариев для отображения
        'status'     => 'approve', // Утвержденные комментарии
        'post_status'=> 'publish', // Опубликованные посты
        'category'   => $category_id // ID выбранной категории
    );
    $comments_query = new WP_Comment_Query;
    $comments = $comments_query->query( $args );

    // Display the recent comments in a list
    echo '
    '; foreach ( $comments as $comment ) { $comment_author = get_comment_author( $comment->comment_ID ); $comment_date = get_comment_date( 'd.m.Y', $comment->comment_ID ); $comment_content = $comment->comment_content; echo '
  • '. $comment_author .' - '. $comment_date .'
    '. $comment_content .'
  • '; } echo '
'; } add_action('widgets_init', 'my_recent_comments_widget');
В этом коде мы добавили переменную `$category_id`, которая содержит ID вашей выбранной категории. Затем мы используем эту переменную в аргументе `'category'` для выбора комментариев только из этой категории. Далее мы используем `WP_Comment_Query` для получения списка комментариев, удовлетворяющих указанным критериям. Затем мы выводим эти комментарии в виде списка, используя цикл `foreach` и функции `get_comment_author`, `get_comment_date` и `get_comment_content`. Вы можете настроить количество комментариев для отображения, изменяя значение `'number'` в аргументе `$args`. Также, поменяйте значение `$category_id` на нужный ID вашей категории. Надеюсь, это поможет вам решить вашу проблему с виджетом последних комментариев на вашем сайте WordPress!

Добавить ответ