PHP в виджете WordPress
В этом кратком обзоре речь пойдёт о вставке PHP кода в виджет WordPress. Даже начинающие вебмастера, использующие эту CMS, знают что PHP не работает в области Sidebar. При этом HTML и скрипты свободно отображаются по средствам стандартного текстового виджета. А ведь сколько всяких полезностей можно вывести по средствам PHP…
WordPress вставить PHP код
НУ начнём с того что нам потребуется разрешить вставку PHP. Для этого обратимся к редактированию шаблона темы WordPress, а именно файл 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;
}
Вышеприведённый код скопируйте и вставьте в указанный файл «functions.php», сразу за открывающимся тегом php.
Примечание! Перед Редактированием будет нелишним сделать резервную копию файла “functions.php”, воспользовавшись FTP доступом к сайту (/wp-content/themes/название вашей темы.functions.php).
После вставке кода сохраните изменения. При удачном редактировании перейдите в раздел «Внешний вид» — «Виджеты». Добавьте новый виджет «ТЕКСТ» в область «Sidebar» и вставьте PHP код. После чего нажмите «Сохранить» и перейдите на сайт для проверки работоспособности вставленного виджета.
Вместо послесловия
По сути ничего сложного нет, а главное что можно обойтись без установки дополнительного плагина, реализующего всё те же функции (если же Вы не уверены в исходе редактирования, воспользуйтесь одним из плагинов, например — WP exec PHP). Стоит отметить, что никаких проблем с безопасностью сайт не испытывает, так что очередной миф WP благополучно развеян!
Здравствуйте! Помогите пожалуйста! В чем может быть проблема? Раньше Виджет текст вполне себе хорошо работал — и счетчик с помощью него я ставил и пару баннеров, а потом он взял и выборочно перестал работать… выборочно — в том плане, что видео с ютуба с помощью него вставить получается… картику с firepic.org — тоже… а вот баннеры и счетчик revolvermaps, которые раньше прекрасно работали просто не показываются и все =( Заранее благодарен за помощь…Вот адрес сайта на всякий babaiskie-pribautki.ru, счетчик должен находиться в правом сайдбаре, под заголовком СЧЕТЧИК…
Здравствуйте!
Могу лишь предположить, что проблема в синтаксе кода или в активных плагинах. Рекомендовал бы путём исключения локализовать проблему. Вспомните какие последние изменения вносились в тему оформления, а также какие плагины были ранее установлены или обновлены до актуальных версий.
Увы, сам не сталкивался с подобным, но к примеру конфликт плагинов у меня не показывал SEO элементы при загрузке страницы, и пропускал спам в комментариях.