Как на странице записи (Single) вывести в сайд бар ссылки на все посты этой категории ?

Как на странице записи (Single) вывести в сайд бар ссылки на все посты этой категории ?

Для каждой категории ссылки внутри постов только на присвоенную категорию.

Добавить Комментарий

    Добавим виджет который будет выводить ссылки только на странице single(записи).

     // добавим виджет
     add_action('widgets_init', 'my_widget');
     function my_widget() {
     register_widget('MY_Widget');
     }
    class MY_Widget extends WP_Widget {
    function MY_Widget() {
     $widget_ops = array('classname' => 'widget_cat_post', 'description' => __('Виджет вывода ссылок из категории', 'widget_cat_post'));
     $control_ops = array('width' => 300, 'height' => 350, 'id_base' => 'widget_cat_post');
     $this->WP_Widget('widget_cat_post', __('Виджет вывода ссылок из категории', 'widget_kurs'), $widget_ops, $control_ops);
     }
    function widget($args, $instance) {
     // выводим только на странице single
     if (is_single()) {
     // получим id первой категории
     $categories = get_the_category();
     $category_id = $categories[0]->cat_ID;
     // если получили удачно категорию
     if(!empty($category_id)){
     // задаем нужные нам критерии выборки данных из БД
     $args = array(
     'posts_per_page' => -1,
     'cat' => $category_id
     );
     $query = new WP_Query($args);
     // Цикл
     if ($query->have_posts()) {
     while ($query->have_posts()) {
     $query->the_post();
     echo '<li>' . get_the_title() . '</li>';
     }
     } else {
     // Постов не найдено
     }
     /* Возвращаем оригинальные данные поста. Сбрасываем $post. */
     wp_reset_postdata();
     }
     }
     }
     // функция обновления информации в виджете
     function update($new_instance, $old_instance) {
    }
     // вывод информации в блоке виджета в админке
     function form($instance) {
    }
    }
     

    Данный код следует добавить в файл functions.php который расположен к коренной директории вашего шаблона.

    В классе MY_Widget() есть пустые функции form() и update() — это если вы вдруг захотите сделать какие либо настройки. Возможно вам будет интересно посмотреть вопрос: http://onwp.ru/question/kak-v-wordpress-sozdat-svoj-vidzhet

    Добавить Комментарий

    Ваш ответ

    Размещая свой ответ, вы соглашаетесь с правилами сайта.