Как программно создать боковую панель сообщений WordPress со ссылками на категории

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

Метод 1: использование API виджетов WordPress

Один из самых простых способов добавить боковую панель сообщений со ссылками на категории — создать собственный виджет с помощью API WordPress Widget. Вот пример фрагмента кода, который поможет вам начать:

class Category_Posts_Sidebar_Widget extends WP_Widget {
    public function __construct() {
        parent::__construct(
            'category_posts_sidebar_widget',
            'Category Posts Sidebar',
            array(
                'description' => 'Displays posts from selected categories in the sidebar.'
            )
        );
    }
    public function widget($args, $instance) {
        // Widget output code goes here
    }
    public function form($instance) {
        // Widget settings form code goes here
    }
    public function update($new_instance, $old_instance) {
        // Update widget settings code goes here
    }
}
function register_category_posts_sidebar_widget() {
    register_widget('Category_Posts_Sidebar_Widget');
}
add_action('widgets_init', 'register_category_posts_sidebar_widget');

Метод 2: использование пользовательского шаблона боковой панели

Если вы предпочитаете не использовать виджеты, вы можете создать собственный шаблон боковой панели и добавить его в свою тему WordPress. Вот пример фрагмента кода:

  1. Создайте новый файл с именем sidebar-category-posts.phpв каталоге вашей темы.
  2. Добавьте в файл следующий код:
<?php if (is_category()) : ?>
    <div class="category-posts-sidebar">
        <h3>Category Posts</h3>
        <ul>
            <?php
            $category = get_queried_object();
            $args = array(
                'category__in' => $category->term_id,
                'posts_per_page' => 5
            );
            $query = new WP_Query($args);
            if ($query->have_posts()) :
                while ($query->have_posts()) : $query->the_post();
            ?>
                    <li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
            <?php
                endwhile;
            endif;
            wp_reset_postdata();
            ?>
        </ul>
    </div>
<?php endif; ?>
  1. В файле sidebar.phpвашей темы включите следующую строку кода, в которой вы хотите, чтобы отображалась боковая панель сообщений категорий:
    <?php get_sidebar('category-posts'); ?>

Метод 3: использование плагина

Если вы предпочитаете подход на основе плагинов, вы можете использовать существующие плагины WordPress, которые обеспечивают функциональность боковой панели. Одним из популярных плагинов является «Custom Sidebars» от WPMU DEV. Он позволяет создавать собственные боковые панели и назначать их определенным категориям. Таким образом, вы можете легко отображать сообщения конкретной категории на боковой панели.