TanyaM42 15.01.2023 08:22

Как настроить отображение случайной цитаты из конкретной категории на WordPress-главной?

Здравствуйте! Я работаю над своим сайтом на WordPress и хочу настроить отображение случайной цитаты из определенной категории на главной странице. Я уже создал несколько цитат и разделил их на категории. Но я не знаю, как написать код, чтобы на главной странице отображалась только одна случайная цитата из определенной категории. Можете ли вы помочь мне с этим?


// Код, который я использовал для создания цитат
$args = array(
    'post_type' => 'citata', // название вашего типа записи с цитатами
    'posts_per_page' => -1
);
$quotes = new WP_Query($args);

// Код, который я использовал для вывода случайной цитаты
$random_quote = array_rand($quotes->posts);
echo $quotes->posts[$random_quote]->post_content;

Я хочу, чтобы на главной странице отображалась случайная цитата из категории "Мотивация". Что нужно добавить в код, чтобы это реализовать? Буду благодарен за вашу помощь!

Ответы:

natalyya45 15.01.2023 08:36
Нужно добавить параметры в аргументы запроса (args) для указания нужной категории и использовать игру сортировки для получения случайной цитаты из этой категории.
TimSky32 15.01.2023 09:00

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

Первым шагом я рекомендую создать новый тип записи для цитат и назначить им категории. Вам также понадобится плагин "Custom Post Type UI" для создания нового типа записи.

После создания типа записи и назначения категорий, вы можете использовать следующий код в файле functions.php вашей темы для вывода случайной цитаты из категории "Мотивация" на главной странице:


// Запрос для получения случайной цитаты из категории "Мотивация"
$args = array(
    'post_type' => 'цитата', // название вашего типа записи с цитатами
    'posts_per_page' => 1,
    'orderby' => 'rand',
    'tax_query' => array(
        array(
            'taxonomy' => 'категория', // название вашей таксономии категорий
            'field' => 'slug',
            'terms' => 'мотивация' // название вашей категории
        )
    )
);
$quote_query = new WP_Query($args);

// Проверка, есть ли цитата
if ($quote_query -> have_posts()) {
    while ($quote_query -> have_posts()) {
        $quote_query -> the_post();
        the_content();
    }
} else {
    echo 'Цитаты не найдены.';
}

Поместите этот код в нужное место на главной странице вашего шаблона. Он выполнит запрос и выведет случайную цитату из категории "Мотивация". Если цитаты не найдены, будет выведено сообщение "Цитаты не найдены".

Надеюсь, это помогло! Если у вас возникнут еще вопросы, не стесняйтесь задавать.


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