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

8 августа 2012 | Автор: zkzakhar | Теги: , , ,

Примерно год назад я работал на одного парня в сети и занимался тем, что исправлял баги на сайтах под управлением WordPress, делал сайты с нуля на этой CMS, заполнял их нужными плагинами, устанавливал лучшую систему комментирования  disqus и тому подобное. После такого занятия я был практически уверен, что в будущей работе со своими сайтами я уже не столкнусь с какой-либо проблемой связанной с настройкой этого замечательного движка. Ан нифига, пару дней назад, с увеличением трафика на мой zkzakhar.com, мне понадобилось в срочном порядке заполнить свой сайдбар нужными постами до отказа.

Тема у меня виджеты не поддерживает, всё кодом делаю, и никогда проблем в принципе не испытывал. Но сейчас, из-за своеобразности шаблона, лёгкой работы не получилось: вставил всё как и положено, а верстка совсем поехала. Начал искать в чём причина, перекопал Гугл и нашел решение только через 40 минут. Расскажу теперь и вам, информация будет полезной.

Итак, вставлять посты в сайдбар WordPress можно двумя способами:

  1. чисто html-кодом, вида <a href=»»>название поста</a>
  2. используя функционал WordPress

Разница принципиальна важна. В первом случае придется все новые посты прописывать вручную (написал пост, идёшь во Внешний вид — Редактор — sidebar.php и добавляешь его), а это очень быстро надоест, уж поверьте мне. Дальше вы на это дело забьете и сайдбар перестанет пополняться нужными и полезными постами, а тем самым теряется визуальная видимость обновления сайта. Второй же вариант намного интересней, он сам добавляет нужные посты в нужные колонки, надо только правильно выборку настроить. Как создавать такие выборки — я нашел очень классный материал на эту тему, рекомендую http://fleek.org/query-v-wordpress/ Если появятся вопросы как ту информацию совместить с этим кодом — задавайте их здесь в комментах, пишите на мыло, скайп, асюку, твиттер (всё это дело указано в контактах).

Итак, если вы хотите вставить любой блок виджетов в WordPress с помощью кода, то вот вам, собственно говоря сам код:

<ul>
<?php $posts = get_posts('orderby=rand&numberposts=5');
foreach($posts as $post) { ?>
<li><a href="<?php the_permalink(); ?>
" title="<?php the_title(); ?>"><?php the_title(); ?></a>
</li>
<?php } ?>
</ul>

Дальше от того, что вам нужно получить конкретно в сайдбаре, надо менять вот этот кусок кода

orderby=rand&numberposts=5

Что именно туда писать — я приводил выше ссылку, думаю разберетесь. Если нужна помощь — так же выше говорил, стучите туда, куда будет удобнее, постараюсь помочь.

Захар

[vk-share-button]