BloGGood.ru

Блог Костаневича Степана

WordPress, PHP, HTML, CSS, Windows

Блог на разные темы, seo-оптимизация, раскрутка сайта, создание сайта, вкусные эффекты для сайта и многое другое…

Главная » Wordpress » Как вывести в сайдбаре список постов из определенной рубрики?

Как вывести в сайдбаре список постов из определенной рубрики?

2013-09-24 / Вр:20:01 / просмотров: 10893

Для тех, кто не читал цитату, а сразу перешел с поисковика на статью, я вкратце расскажу, о чем эта статья.
Иногда неплохо было бы на блоге в сайдбаре (sidebar.php) вывести список постов из определенной рубрики. Это могут быть различные избранные рубрики, которые вы считаете важными или интересными для читателя, например, «Новости», «Акции», «Конкурсы», «Услуги» и т. д.
Способ, который я хочу вам предложить, позволит выводить список определенных рубрик в автоматическом режиме.

Как вывести в сайдбаре список постов из определенной рубрики?
Итак, как это можно сделать? Все очень просто:
откройте файл сайдбар (sidebar.php) и разместите код, который написан снизу, в то место, где вы хотите, чтобы выводился список определенной рубрики.


<h3>НОВОСТИ</h3>
<ul>
<?php query_posts('category_name=novosti&showposts=5'); ?>
<?php while (have_posts()) : the_post(); ?>
<li><a href="<?php the_permalink(); ?>">
<?php the_title(); ?>
</a> </li>
<?php endwhile; ?>
</ul>

Строка №1 – не обязательная, без нее код все равно будет работать. Но я использую ее для того, чтобы пользователь знал, где какая рубрика, другими словами – элемент оформления. В моем примере это рубрика «Новости».
В строке №3 необходимо просто прописать адресное имя выбранной рубрики. У меня - novosti.


<?php query_posts('category_name=novosti&showposts=5'); ?>

В строке №3 также есть настройка вывода количества списков постов – showposts. В данном коде стоит цифра 5, вы же можете выставлять нужную вам цифру.

Как вывести список определенной рубрики с цитатой?

Чтобы вывести список определенной рубрики с цитатой, добавьте вот такой код:


<h3>НОВОСТИ</h3>
<ul>
<?php query_posts('category_name=novosti&showposts=5'); ?>
<?php while (have_posts()) : the_post(); ?>
<li><a href="<?php the_permalink(); ?>">
<?php the_title(); ?></a>
<p><?php the_excerpt (); ?> </p>
</li>
<?php endwhile; ?>
</ul>

По умолчанию длина цитаты установлена ​​в 55 слов. Чтобы изменить количество слов до 20, вам нужно открыть файл functions.php и установить вот такой код:


function custom_excerpt_length( $length ) {
 return 20;
}
add_filter( 'excerpt_length', 'custom_excerpt_length', 999 );

Обратите внимание на строку №2

return 20;

вот здесь и нужно менять длину цитаты.

Теперь вы знаете, как выводить список определенной рубрики с цитатой.

Понравился пост? Помоги другим узнать об этой статье, кликни на кнопку социальных сетей ↓↓↓

Получай обновления блога!!! Подпишись:

Популярные статьи:

21 Ответов на комментарий - Как вывести в сайдбаре список постов из определенной рубрики?

  1. Тамара Полякова

    Твоя статья Степан мне понравилась, она очень полезна. У меня на сайте рубрики выведены одной строкой, с возможностью зайти в них и увидеть что там внутри. Я бы хотела вывести рубрики списком, но не знаю как это переделать. А возможно и сделать рубрики по твоему предложению в статье. Но я пока что изучаю работу с html кодами. Скоро думаю не буду бояться что-то менять. Кстати у меня новость! Я вышла из под АГС!!! Спасибо тебе за помощь! Удачи!!!

  2. Тамара Полякова

    И еще. Я изменила адрес почты, так как в твоем списке комментаторов я была без аватара. На новой почте у меня есть аватар.

  3. Avatar photo Степан => автор блога

    Здравствуйте, Тамара. Если у Вас не будет получатся с рубриками, Вы знаете, что я с удовольствием помогу.
    А на счет АГС – мои поздравления!!!!!! Я рад, что у Вас все получилось. :!:

  4. Avatar photo Степан => автор блога

    Я это заметил. :smile:

  5. Тамара Полякова

    Привет Степан! Спасибо за твои поздравления! Хочу посоветоваться с тобой: как ты считаешь, нужно ли рубрики выводить списком в сайдбаре, или оставить так, как сейчас у меня? Так рубрики занимают меньше места, с другой стороны “ленивый” читатель не откроет их и не будет знать что есть на сайте.С уважением Тамара.

  6. Тамара Полякова

    Спасибо! Ты внимательный! Я отношусь к тебе с большим уважением!

  7. Avatar photo Степан => автор блога

    Здравствуйте, Тамара!
    Скажите, Тамара, а у вас тоже белое поле “Выберите рубрику” немного дальше выходит за границу блока?
    Я считаю, что посетителю удобней сразу видеть все рубрики и делать переход по той, которая его уже заинтересовала, ведь посетитель всегда так спешит искать инфу, что делать лишние клики он не заинтересован.

  8. Avatar photo Степан => автор блога

  9. Тамара Полякова

    Привет Степа!Я по поводу рубрик. Да, у меня строчка с подписью “выберите рубрику” немного выходит за страничку. Я тоже считаю, что мне нужно раскрыть рубрики. Но у меня не получается…Я пыталась добросовестно исправить, но не смогла. Если ты мне подскажешь, тогда я сэкономлю время и не буду искать ответ в интернете. С уважением Тамара

  10. Avatar photo Степан => автор блога

    Тамара,зайдите в админ-панель, далее “Внешний вид”=>”Виджеты” и перетащите виджет “Рубрики” в правую колонку.
    Если нужно, могу сделать скриншотом.

  11. Владимир

    Здравствуйте! Как сделать чтобы анонсы постов выходили с картинкой (чтобы бралась первая картинка поста) и чтобы задать размеры картинки?

  12. Avatar photo Степан => автор блога

    Здравствуйте! В файле functions.php добавьте код:

    // Получение первой картинки с поста
    function catch_that_image() {
      global $post, $posts;
      $first_img = '';
      ob_start();
      ob_end_clean();
      $output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $post->post_content, $matches);
      $first_img = $matches [1] [0];
    
    // Если изображение отсутствует, то выводим изображение по умолчанию (указать путь к изображению)
      if(empty($first_img)){
        $first_img = "/images/kartinka-nol.jpg";
      }
      return $first_img;
    }
    

    Далее, откройте index.php и добавьте следующий код:

    <a href="<?php the_permalink() ?>" title="<?php the_title(); ?>">
      <img src="<?php echo catch_that_image() ?>" alt="<?php the_title(); ?>" width="400"/>
    </a>
    

    width=”400″ – это ширина картинки в (px). Можно размер задать в (%).

  13. Владимир

    Спасибо !

  14. Николай

    Степан, спасибо большое за статью!
    Статья помогла вывести то, что нужно в сайдбаре, НО! Сломалась главная страница… Если вставить описанный твой код, то на главной странице сайта, вместо указанной мной статической страницы отображается лента новостей :(
    Что могло сломаться и как это победить?
    WP v4.2.2
    C уважением, Николай

  15. Avatar photo Степан => автор блога

    Николай, видимо вы не туда в сайтбаре вставили код.
    Попробуйте в шаблоне в сайтбаре перед тегами выставить цифры, чтобы глянуть, где будут они выводиться на блоге. Потом, более подходящее место выбираете и вставляете код.
    Еще раз повторюсь. Я думаю вы сломали верстку шаблона, вставив не дуда код.
    Надеюсь вы меня поняли.

  16. Юрий

    День добрый! При выводе через виджет php, дейстует на отображение title плагине all seo pak. Еле обнаружил. Что это за беда такая?

  17. Nata

    Добрый день, подскажите пожалуйста, куда именно в код добавить информацию? после каких строк…а то у меня не получается(((

    	
    get_queried_object_id();		
    ********
    do_action( &#039;catchresponsive_after_secondary&#039; );
    
  18. Avatar photo Степан => автор блога

    Здравствуйте! Пробуйте выводить через файл шаблона.

  19. Avatar photo Степан => автор блога

    Добрый день! Скажите, что это за файл (название)?

  20. Денис

    Спасибо за информацию. Работает как надо. Скажите, а можно сделать так, что-бы выводилось только название поста без текста ?

    :smile:

  21. Avatar photo Степан => автор блога
    <h3>НОВОСТИ</h3>
    <ul>
    <?php query_posts('category_name=novosti&showposts=5'); ?>
    <?php while (have_posts()) : the_post(); ?>
    <li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a> </li>
    <?php endwhile; ?>
    </ul>
    

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

;-) :| :x :twisted: :smokes: :smile: :shock: :sad: :rose: :roll: :razz: :pop-corne: :oops: :o :mrgreen: :lol: :idea: :grin: :gazeta: :evil: :cry: :cool: :coffe: :arrow: :???: :?: :!:

Чтобы добавить в комментарий код HTML, PHP, CSS, JavaScript, нужно сделать так: [code] ваш код [/code]

Метки: ,

Мои цели на 2018-2019:

1). Закончить тему «Bootstrap»

2). Закончить тему «Все про PHP и MySQL»

3). Создать портфолио и мини интернет-магазин шаблонов

4). Довести количество статей до 800

5). Добиться посещаемости 3000 человек/сутки

6). Увеличить число подписчиков до 250

Статистика по блогу

Количество записей на блоге: 810
Количество страниц на блоге: 20
Количество рубрик на блоге: 28
Количество меток на блоге: 72
Количество комментариев на блоге: 4716