WordPress Fix: php виджет

wordpress логоВстала задача размещения баннеров в виджетах WordPress. Перепробовал множество плагинов. Некоторые из них обещают до 20(!) виджетов в «админ-панели». Но на практике дают возможность установить только один. А если вам необходимо вывести 2, 3 или более баннеров в разных местах? Или просто нужный вам php, html код в виджете? На самом деле все гораздо проще.

Мы пойдем по простому пути и напишем маленькую функцию, которая превратит обычный виджет «Текст» (Text Widget) в виджет поддерживающий php, html код.

Все что нам для этого понадобиться — это вставить вот такой вот код в файл 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, сервиса по раскрутке сайта:
php widget



Запись опубликована в рубрике Wordpress, Советы и фиксы с метками , , , . Добавьте в закладки постоянную ссылку.

4 комментария: WordPress Fix: php виджет

  1. Уведомление: WordPress Fix: php виджет | Grabr

  2. Atamovich говорит:

    Странно, у меня без допиливания все работает… по крайней мере джава вставляется, html вставляется, все счётчики и баннеры тоже работают…

  3. Petrozavodsky говорит:

    php разрешать в виджетах  не безопасно

    • Гилязетдинов Руслан говорит:

      ну тут каждый сам решает для себя

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *