Дизайн та розробка сайту

PHP код в текстовом виджете WordPress

php код в виджете

Доброго времени суток. 🙂

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

php код в виджете

Когда-то я писал статью о том как сделать шорткоды для WordPress и там я показал как вывести шорткод в текстовом виджете. Этот способ имеет схожесть, но тут прямой вывод PHP функций. В шорткодах, нужно функцию прописать в functions.php, а уже потом ее шорткодом вывести в виджете.

Если Вам не нравится способ с шорткодами или Вы не хотите править файл сайдбара sidebar.php, для добавления какого-то PHP кода, то Вам подойдет данный способ, который позволить вставлять код напрямую в текстовый виджет.

Как и обычно, когда мы добавляем новый функционал к нашей теме в виде функций, нам нужно открыть functions.php и в его конец добавить следующий код. Сделать это надо перед закрывающимся PHP тегом - ?>.

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

Теперь нужно добавить новый текстовый виджет в поле для виджетов и уже в него вставлять нужный PHP код. Такой код должен находится внутри тегов:

<?php // Тут код который Вам надо ?>

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

На этом все, спасибо за внимание. 🙂

Дизайн та розробка сайту

Back to top