Всем привет дорогие друзья! Я Вам как-то рассказывал о том, как можно вывести список новостей из определенной рубрики в сайдбаре. Ну так вот, на основе данной статьи мы сделаем похожий вывод, только вывод записей в сайдбаре с использованием миниатюр.
Вообще, на самом деле, тут все очень просто, нам необходимо просто немного подкорректировать прошлый код и все у нас готово.
Но не забывайте о том, что нам плагин (виджет) PHP Code Widget, если Вы не хотите размещать код в файлах шаблона, в противном случае Вам придется скачивать файл сайдбара (обычно это sidebar.php) и размещать в нужное место код. Я использовал данный плагин/виджет, что очень удобно, поэтому советую и Вам. Мы рассмотрим, как можно вывести последние записи из определенной рубрики с миниатюрами, а также рассмотрим, как можно вывести самые популярные записи в сайдбаре с миниатюрами (популярность будет определять по количеству комментариев).
Вы можете посмотреть, как на одном моем сайте выглядел список новостей до того момента, как я применил данный метод:
То есть все понятно, точно также, как и в прошлой статье. То есть обычный список новостей в сайдбаре.
Теперь же это у меня выглядит следующим образом:
Согласитесь, что пользователи больше шансов нажмут на такую ссылку с картинкой, чем обычная текстовая ссылка. За счет этого у Вас может улучшиться поведенческий фактор, так что задумайтесь над этим. Итак, значит, мы устанавливаем виджет PHP Code в нужное место в сайдбаре, где мы хотим выводить список новостей и вставляем в него следующий код:
<ul>
<?php
$pc = new WP_Query('category_name=name_rubric &showposts=5'); ?>
<?php while ($pc->have_posts()) : $pc->the_post(); ?>
<li>
<a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_post_thumbnail(()); ?></a>
<a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a>
</li>
<?php endwhile; ?>
</ul>$pc = new WP_Query(‘category_name=name_rubric &showposts=5’); ?>
В данной строке Вы указываете наименование рубрики (см. узнать идентификатор категории), из которой хотите выводить записи с миниатюрами и их количество. Можете вывести последний записи, что публикуются на главной странице, для этого опустите здесь строку category_name=name_rubric & (то есть, просто удалите ее).
Для вывода популярных записей, исходя из количества комментариев, можно воспользоваться следующим кодом:
<ul>
<?php
$pc = new WP_Query('orderby=comment_count&posts_per_page=5'); ?>
<?php while ($pc->have_posts()) : $pc->the_post(); ?>
<li>
<a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_post_thumbnail(()); ?></a>
<a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a>
</li>
<?php endwhile; ?>
</ul>У Вас уже могут сработать стили для такого кода, исходя из Вашей темы, и вывод может получиться красивым и таким, как Вы хотели, но если этого не произошло, то Вам стоит воспользоваться дополнительными стилями, его вставляете в файл style.css.
.sidebar_mini ul li img {
width: 50px;
height: 50px;
border:1px solid #ccc;
background:#fff;
padding:2px;
float:left;
margin:0 10px 0 0px;
-moz-box-shadow: 0 0 10px rgba(0,0,0,0.2); /* Для Firefox */
-webkit-box-shadow: 0 0 10px rgba(0,0,0,0.2); /* Для Safari и Chrome */
box-shadow: 2px 2px 2px rgba(0,0,0,0.1); /* Параметры тени */
-moz-transition: border 0.3s 0.05s ease;
-o-transition: border 0.3s 0.05s ease;
-webkit-transition: border 0.3s 0.05s ease;
}
.sidebar_mini li img:hover {
border:1px solid #888;
}А весь код, что мы публиковали выше, необходимо будет взять в блок div, у Вас в итоге должно получиться что-то в этом роде:
< class=”sidebar_mini”>
//код, который Вам необходим, что мы писали выше
</>Вот примерно и вся статья. Самое главное, чтобы эти стили, что мы добавляем, не пересекались со стилями Вашей темы. Вы можете с ними немного поиграть, сделать нужное расположение, нужный размер и так далее. Удачи Вам и до новых встреч.
Да, чуть не забыл, если у Вас что-то не получается, то можете воспользоваться плагином Featured Post with thumbnail, который также поможет решить Вам эту проблему, то есть вывести записи с миниатюрами в сайдбар.
Также советуем почитать на PressDev.RU
Короткая ссылка: http://pressdev.ru/?p=4373








А как сделать чтоб изображение было только в анонсе,а при открытии его не было?
«виджет PHP Code» где взять? Вообще косноязычно статья написана
В поисковике достаточно вбить: PHP code wordpress
А я все сделал иначе, в файле шаблоны у меня он называется так sidebar_l.php вто место где нужно сделать вывод я вставил вот такой кусок кода.
Новое на блоге
have_posts ()) : $pc->the_post (); ?>
<a href="» title=»» target=»_blank»>
<a href="» title=»» target=»_blank»>
Где posts_per_page=7 7 — это сколько выводить записей. Пример работы этого кода можете посмотреть на моем сайте
делаю все как в статье, но почему-то стиль не применяется
После < ?php endwhile; ?>
нужно обязательно сбросить значение переменной $post:
< ?php wp_reset_postdata();?>
иначе при просмотре записей из данного блока всегда будет открываться последняя, на какую бы ни нажали.
не знаю, у меня открывает все корректно!
Так и не понял — куда вставлять номер рубрики.
$pc = new WP_Query(‘category_name=name_rubric &showposts=5′); ?>
В данной строке Вы указываете наименование рубрики (см. узнать идентификатор категории), из которой хотите выводить записи с миниатюрами и их количество.
Конкретней никак нельзя?
category_name=name_rubric&showposts
Вместе name_rubric необходимо вставить название рубрики, это его ярлык, что Вы присваиваете при создании рубрики, люби идентификатор. Как узнать идентификатор рубрики, я писал на сайте и ссылка опубликована в данной статье