«

»

Авг 29 2014

Как настроить поддержку php-кода в виджетах WordPress. 2 способа

поддержка кода в виджетах WP

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

Так вот к чему я веду. Сегодня хотел избавиться  от плагина «Top Commentators Widget»( вывод топ комментаторов) и заменить на весьма функциональный код.  Более того, я хотел, чтобы он выводился с помощью  стандартного виджета WordPress с правой стороны. О том, как вывести топ комментаторов без плагина, мы поговорим в следующей статье. А сегодня разберем вопрос, «Как настроить поддержку php-кода в виджетах WordPress без использования и с использованием плагина».  Как всегда перед внесением изменений  необходимо сделать бэкап сайта, чтобы в случае неудачи можно было все вернуть обратно. Ок. Бэкап сделал, деактивировал плагин «Top Commentators Widget», почистил кеш страниц в настройках плагина Hyper Cache. Если этого не сделать, можно сразу не увидеть изменений на блоге . Установил в нужных местах шаблона необходимые коды для вывода комментаторов, добавил php-код в виджет и пошел любоваться что получилось. Но, увы кроме как надписи «Топ комментаторов» я ничего больше не увидел. Вернул все обратно и проделал процедуру заново, но чудо не произошло. Убрал виджет  и вставил необходимый код в файл sidebar.php (Боковая колонка). После этого все отлично заработало. Но мне хотелось выводить Топ комментаторов с помощью стандартного виджета WP. Виджет в любой момент можно будет убрать, если он не нужен.

Изначально через виджет  WordPress нельзя вывести голый php-код, необходимо провести небольшие настройки. Все оказалось намного проще, чем Вы могли подумать. Приступим. В административной панели WP следуем по пути Внешний вид – редактор, с правой стороны в файлах нашей темы находим functions.php(Функции темы). Открываем его и в самом конце перед ?> вставляем следующий код

add_filter('widget_text','sp_widget_execute_php',100);
function sp_widget_execute_php($text) {
if(strpos($text,'<?') !== false) {
ob_start();
eval('?>'.$text);
$text = ob_get_contents();
ob_end_clean();
}
return $text;
}

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

Для тех, кто боится или не желает ковыряться в шаблоне есть запасной вариант- плагин «PHP Code»

Как найти и установить плагин, можно почитать здесь.

После активации, плагин создает независимый виджет, в который и размещается необходимый php-код.  Какой способ выбрать, решать Вам самим. Но запомните, очередной установленный плагин начинает еще больше грузить ваш сайт, а это не есть хорошо.  Думаю теперь понятно, как настроить поддержку кода в виджетах. В следующий раз рассмотрим, как настроить вывод топ комментаторов без плагина. На этом у меня все. Всем удачи в делах!

С уважением, Богданов Антон!

 

Интересные материалы по теме: