Как вывести php код в сайдбаре WordPress

Как вывести php код в сайдбаре WordPress

Здравствуйте, уважаемые читатели и посетители. Сегодня в статье речь пойдет о том, как вывести php код в сайбаре (боковом меню) вашего блога, который работает на движке WordPress. Будут рассмотрены два плагина, а также я приведу простой пример создания собственного виджета, при помощи которого можно легко вывести php в сайдбаре.

Как вывести php код в сайдбаре WordPress

Идея написать подобную статью возникла у меня после того, как я сам для себя решал эту задачу. Мне потребовалось вывести так называемый «смайлик Лебедева», а точнее сказать, последние ссылки на меня из ЯППБ (Яндекс поиск по блогам). Такие блоки ссылок вы можете видеть на topsape или например на блогах Михаила Шакина и Алексея Терехова — называются они у них друзья блога, ну или в таком ключе. Идея сделать подобное у себя мне тоже понравилась и было решено сделать.

Но сразу же появились трудности, так как выводить этот код требуется в сайдбаре, а он у меня работает полностю на виджетах. Поэтому, из админки блога, можно вывести только html код в виджет, но не как не php.

Первый по легкости способ вывести php код — это найти файл sidebar.php в своей теме WordPress и вставить его туда в нужное место. Но с этим у меня тоже возникли проблемы. Потому, что этот новый дизайн для моего блога, который я покупал на западном сайте был очень функциональный в том плане, что очень много в нем можно настроить прямо из админки, много всего можно сменить, много разных фишек и поэтому файлов в теме огромная куча, которые переплетены между собой. Постоянно используются так называемые инклюды.

Конструкция include предназначена для включения файлов в код сценария PHP во время исполнения сценария PHP.

В отличие от конструкции require конструкция include позволяет включать файлы в код PHP скрипта во время выполнения сценария.

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

В итоге нашлось два способа: использовать специальный плагин или создать свой собственный виджет.

Используем плагины для вывода php кода в сайдбаре WordPress

Тестировал я два плагина — оба хорошо работают.

1. Плагин PHP Code Widget

Плагин устанавливается стандартно в директорию /wp-content/plugins/, затем активируется из меню плагинов. После чего вам нужно зайти в меню — виджеты и там вы увидите новый виджет. Перетаскиваем его в сайдбар, задаем название и вводим ваш php код. Обратите внимание что код должен вводиться вот так:

[php]<?php "тут вводим (вставляем) ваш код" ?>[/php]

Нажимаем сохранить и наблюдаем результаты.

Скачать этот плагин можно по ссылке — http://downloads.wordpress.org/plugin/php-code-widget.2.1.zip

2. Плагин inPHP Widget
Работает тоже подобно предудущему плагину. Устанавливается и активируется также. После установки заходим в виджеты и перетаскиваем его в сайдбар, после чего вводим ваш код.

Надо заметить, что на страничке плагина написано, что он совместим с версией WordPress до 2.8.6 — но на деле он работал на моей 3.0.1. Поэтому можете использовать.

Скачать этот плагин можно по ссылке — http://downloads.wordpress.org/plugin/w3devil-inphp.zip

Создаем свой виджет для вывода php кода в сайдбаре WordPress

Но есть и альтернативный способ вывод php кода без использования специальных плагинов.

До того как я стал разбираться, я не представлял, что так можно сделать. Но когда начинаешь думать и анализировать, случаются прозрения 🙂 . Вообще включать мозг надо почаще :). Это так — отступление.

Я подумал, что если все файлы в движке WordPress на php, то можно прямо в какой-нибудь файл «положить» необходимый мне код — ведь в том файле он будет работать, а потом просто вывести его при помощи виджета. Иными словами просто создать собственный виджет, чтобы потом просто его перетащить в нужный сайдбар, в то время как виджет уже будет содержать необходимый код.

И это оказалось проще простого. Нам понадобится файл functions.php, который находится в папке с темой вашего блога. Код который будет ниже нужно вставлять именно в этот файл.

[php]<?php
function namewidget_test ()
{
Сюда мы помещаем любой код

}
?>
<?php
register_sidebar_widget(‘Вывод яппб’, ‘namewidget_test’);
?>[/php]

После чего сохраняем файл и заливаем его обратно на сервер. Заходим админку блога, меню виджетов и видим ваш новый виджет, который можно вставить куда вам надо.

Вот и все дела 🙂

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

Игорь (Luckyboy)

Comments (15)

  • Игорь

    О, как раз то что надо. Ато у меня тема на фрэймворке Thematic — там просто так код в нужное место не вставишь…

    19 января 2011 at 19:26
    • Luckyboy

      Рад, что пригодилось 🙂 .

      19 января 2011 at 21:02
  • Шелвин

    А кеширование у этих плагинов есть?

    3 марта 2011 at 22:42
    • Luckyboy

      Видимо нет.

      4 марта 2011 at 9:24
  • Femil

    Спасибо, очень полезно. Особенно в части добавления нового виджета в сайдбар (полдня ищу как выводить результат работы в «менюшку»)))

    13 июля 2011 at 21:07
  • Zalmat

    У меня админка падает экраном смерти после вставки в функционс.

    пробовал и в тегах и без

    27 сентября 2011 at 14:11
  • Рустам

    Тоже админка падает после вставки кода, что делать?

    3 декабря 2011 at 20:12
    • Luckyboy

      Попробовать другой плагин.

      5 декабря 2011 at 10:42
  • Muamur

    Админка падает, наверное, потому что не убрали первый <?php во вставляемом коде.

    16 мая 2012 at 8:35
  • Fest

    В сайдбаре у меня список страниц, сделаных через производное меню. Оно имеет иерархию, но отображается списком. Как сделать чтобы были только главные страницы а при нажатии на них открывались все под странички?
    Вот скриншот http://content.foto.mail.ru/list/newdota/_answers/i-1.jpg

    25 июля 2012 at 17:19
    • Femil

      to Fest
      Для похожей задачи я когда-то использовала плагин WP-dTree. Посмотрите, может, и вам подойдет =)

      26 июля 2012 at 16:05
  • Оксана

    мне только HTML Javascript Adder помог, видимо настройки темы особенные, потому что на других сайтах все и без плагинов выводит…
    а этот кстати еще и настройки имеет дополнительные интересные — типа выводить на определенных страницах и пр.
    может кому пригодится:)

    25 ноября 2013 at 14:00
  • Сергей

    Подскажите как вывести новости так же как у вас в сайдбаре под пунктом (Инструменты для заработка и продвижения)

    24 марта 2014 at 11:40
  • ITишник

    А есть такой плагин, который указывал бы код разными цветами в форме. Как например в Notepad++?

    9 июня 2014 at 0:36
  • РОман

    Сделал все как написано в посте. Но в случае с виджетами выдает ошибку при их активации в админке. Пробовал и другие плагины подобного типа не получается. Наверное в моей теме АРТЕМИЯ что то прописано, поэтому плагины и конфликтуют.
    После вставки кода ничего не изменилось. Пытаюсь установить код на отображение ссылок с сапы в разных местах сайдбара. Штатный код сапы работает лишь под хеддером. А в сайтабре просто выводит голый рнр код.

    10 июля 2014 at 12:08

Comments are closed.