BloGGood.ru

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

До Нового Года осталось:

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

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

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

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

Для тех, кто не читал цитату, а сразу перешел с поисковика на статью, я вкратце расскажу, о чем эта статья.
Иногда неплохо было бы на блоге в сайдбаре (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. Тамара Полякова

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

    Ответить

    Степан => автор блога

    Степан => автор блога отвечает:

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

    Ответить

    Тамара Полякова отвечает:

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

    Ответить

    Степан => автор блога

    Степан => автор блога отвечает:

    Ответить

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

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

    Ответить

    Степан => автор блога

    Степан => автор блога отвечает:

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

    Ответить

  4. Владимир

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

    Ответить

    Степан => автор блога

    Степан => автор блога отвечает:

    Здравствуйте! В файле 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). Можно размер задать в (%).

    Ответить

    Владимир отвечает:

    Спасибо !

    Ответить

  5. Николай

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

    Ответить

    Степан => автор блога

    Степан => автор блога отвечает:

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

    Ответить

  6. Юрий

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

    Ответить

    Степан => автор блога

    Степан => автор блога отвечает:

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

    Ответить

  7. Nata

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

    	
    get_queried_object_id();		
    ********
    do_action( &#039;catchresponsive_after_secondary&#039; );
    

    Ответить

    Степан => автор блога

    Степан => автор блога отвечает:

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

    Ответить

  8. Денис

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

    :smile:

    Ответить

    Степан => автор блога

    Степан => автор блога отвечает:

    <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]

Subscribe without commenting

Метки: ,

Мои цели на 2016 год:

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

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

3). Довести количество статей до 600

4). Добиться стабильной посещаемости 2500 человек/сутки

5). Закончить все статьи, которые находятся в черновиках

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

7). Создать книгу

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

9). Довести количество статей до 700

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

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

Количество записей на блоге: 669
Количество страниц на блоге: 20
Количество рубрик на блоге: 27
Количество меток на блоге: 71
Количество комментариев на блоге: 3663