Встала задача размещения баннеров в виджетах WordPress. Перепробовал множество плагинов. Некоторые из них обещают до 20(!) виджетов в «админ-панели». Но на практике дают возможность установить только один. А если вам необходимо вывести 2, 3 или более баннеров в разных местах? Или просто нужный вам php, html код в виджете? На самом деле все гораздо проще.
Мы пойдем по простому пути и напишем маленькую функцию, которая превратит обычный виджет «Текст» (Text Widget) в виджет поддерживающий php, html код. Чтобы все виджеты работали, нужен рабочий комп, если у вас с этим проблемы — вам поможет сервис в Киеве comp-service.kiev.ua.
Все что нам для этого понадобиться — это вставить вот такой вот код в файл functions.php
, который находиться в каталоге с установленной темой. В моем случае путь выглядит следующим образом /wp-content/themes/rusdigi/functions.php
. Открыв файл любым из редакторов, необходимо вставить в самый конец вот такой код:
< ?php
add_filter('widget_text','execute_php',100);
function execute_php($html){
if(strpos($html,"<"."?php")!==false){ ob_start(); eval("?".">".$html);
$html=ob_get_contents();
ob_end_clean();
}
return $html;
}
?>
После этого вы просто добавляете нужный вам php или html код. Вот, например, как выглядит код партнерского баннера от Rookee, сервиса по раскрутке сайта:
Странно, у меня без допиливания все работает… по крайней мере джава вставляется, html вставляется, все счётчики и баннеры тоже работают…
php разрешать в виджетах не безопасно
ну тут каждый сам решает для себя