ivanMatros35 13.06.2023 10:06

Как создать страницу "Отзывы" с отображением отзывов клиентов в WordPress?

Здравствуйте! Я новичок в WordPress и столкнулся с проблемой создания страницы "Отзывы" с отображением отзывов клиентов. Я уже создал страницу "Отзывы", но не знаю, каким образом мне отобразить на ней отзывы. У меня есть отдельный тип записи "Отзывы" с полями "Имя клиента", "Текст отзыва" и "Оценка клиента". Я хотел бы, чтобы на странице "Отзывы" отображались все отзывы клиентов в виде списка, где каждый отзыв представлен их именем, текстом отзыва и оценкой. Кроме того, хорошо было бы иметь возможность сортировки отзывов по оценке. Буду очень благодарен, если кто-нибудь поможет мне с этой проблемой. Можете, пожалуйста, предоставить мне пример кода, который я могу использовать для реализации данной функциональности? Заранее благодарю за помощь!

// Код для вывода отзывов на странице "Отзывы"
$args = array(
    'post_type' => 'reviews', // Имя типа записи "Отзывы"
    'posts_per_page' => -1, // Вывести все отзывы
    'meta_key' => 'rating', // Поле с оценкой клиента
    'orderby' => 'meta_value_num', // Сортировка по числовому значению оценки
    'order' => 'DESC' // Сортировка по убыванию
);

$reviews_query = new WP_Query($args);

if ($reviews_query->have_posts()) {
    while ($reviews_query->have_posts()) {
        $reviews_query->the_post();

        echo '

' . get_field('client_name') . ': ' . get_field('review_text') . ' (Оценка: ' . get_field('rating') . ')

'; } wp_reset_postdata(); }

Ответы:

sabina24Inva 13.06.2023 10:16
Чтобы отобразить отзывы на странице "Отзывы" в виде списка, вам необходимо использовать кастомный тип записи "Отзывы" и создать соответствующие поля для имени клиента, текста отзыва и оценки клиента. В приведенном ниже коде используется функция WP_Query для получения всех отзывов и их сортировки по оценке. Затем мы проходимся по каждому отзыву и выводим его имя, текст и оценку.

// Код для вывода отзывов на странице "Отзывы"
$args = array(
    'post_type' => 'reviews', // Имя типа записи "Отзывы"
    'posts_per_page' => -1, // Вывести все отзывы
    'meta_key' => 'rating', // Поле с оценкой клиента
    'orderby' => 'meta_value_num', // Сортировка по числовому значению оценки
    'order' => 'DESC' // Сортировка по убыванию
);

$reviews_query = new WP_Query($args);

if ($reviews_query->have_posts()) {
    while ($reviews_query->have_posts()) {
        $reviews_query->the_post();

        echo '

' . get_field('client_name') . ': ' . get_field('review_text') . ' (Оценка: ' . get_field('rating') . ')

'; } wp_reset_postdata(); }
Вы можете разместить этот код в файле шаблона страницы "Отзывы" или в любом другом месте, где вы хотите отобразить отзывы. Замените `'reviews'` на свое имя кастомного типа записи, а `'client_name'`, `'review_text'` и `'rating'` на поля, которые вы создали для отзывов. Удачи!

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