WordPress – это универсальная система управления контентом, которая расширяет возможности миллионов веб-сайтов по всему миру. Одной из его ключевых особенностей является возможность организовывать контент по категориям. Однако когда дело доходит до отображения определенных категорий через виджеты, WordPress предоставляет различные методы настройки. В этой статье мы рассмотрим несколько разговорных методов с примерами кода, которые помогут вам фильтровать категории WordPress непосредственно из виджетов.
Метод 1: использование плагина Widget Logic
Плагин Widget Logic – популярное решение для добавления пользовательской логики к виджетам. Он позволяет указать условия отображения виджетов на основе категорий. Чтобы реализовать этот метод:
- Установите и активируйте плагин Widget Logic из каталога плагинов WordPress.
- Перейдите в меню «Внешний вид» в панели администратора WordPress и нажмите «Виджеты».
- Найдите виджет, который хотите отфильтровать по категории, и нажмите на заголовок виджета, чтобы развернуть его настройки.
- В поле «Логика виджета» введите следующий пример кода:
is_category('your_category_slug')
Замените
'your_category_slug'
фактическим фрагментом категории, которую вы хотите отфильтровать. - Сохраните изменения и обновите свой веб-сайт, чтобы увидеть отфильтрованный виджет на основе указанной категории.
Метод 2: использование плагина «Параметры виджета»
Плагин «Параметры виджетов» предоставляет широкие возможности настройки виджетов, включая возможность фильтровать их по категориям. Вот как использовать этот метод:
- Установите и активируйте плагин «Параметры виджета» из каталога плагинов WordPress.
- После активации перейдите в раздел «Внешний вид» и нажмите «Виджеты» в панели администратора WordPress.
- Разверните настройки виджета, нажав на его заголовок.
- Прокрутите вниз и найдите раздел «Параметры виджета».
- В раскрывающемся меню «Показать виджет» выберите «Категории».
- Выберите категорию, которую хотите отфильтровать, из доступных вариантов.
- Сохраните изменения, и виджет теперь будет отображать контент только из выбранной категории.
Метод 3. Создание пользовательского виджета с фильтром категорий
Если вы предпочитаете более практичный подход, вы можете разработать собственный виджет с возможностью фильтрации по категориям. Вот упрощенный пример кода, который поможет вам начать:
class Custom_Category_Widget extends WP_Widget {
function __construct() {
parent::__construct(
'custom_category_widget',
'Custom Category Widget',
array('description' => 'A custom widget with category filter')
);
}
function widget($args, $instance) {
$category_slug = 'your_category_slug';
$category_id = get_cat_ID($category_slug);
$widget_title = apply_filters('widget_title', $instance['title']);
echo $args['before_widget'];
if (!empty($widget_title))
echo $args['before_title'] . $widget_title . $args['after_title'];
$query_args = array(
'cat' => $category_id,
'posts_per_page' => 5,
);
$category_posts = new WP_Query($query_args);
if ($category_posts->have_posts()) {
while ($category_posts->have_posts()) {
$category_posts->the_post();
// Display your post content here
}
}
wp_reset_postdata();
echo $args['after_widget'];
}
}
function register_custom_category_widget() {
register_widget('Custom_Category_Widget');
}
add_action('widgets_init', 'register_custom_category_widget');
Замените 'your_category_slug'
на желаемый ярлык категории. Добавив этот код в файл functions.php
вашей темы или в пользовательский плагин, вы сможете разместить виджет на своем сайте и просмотреть отфильтрованный контент.
В этой статье мы рассмотрели три разговорных метода фильтрации категорий WordPress от виджетов. Мы рассмотрели использование таких плагинов, как «Логика виджета» и «Параметры виджета», а также создание собственного виджета с возможностью фильтрации по категориям. Используя эти методы, вы можете улучшить взаимодействие с пользователем на своем веб-сайте WordPress, отображая релевантный контент на основе определенных категорий.
Не забывайте экспериментировать с различными методами, чтобы найти тот, который лучше всего соответствует вашим потребностям. Удачной настройки!