Как заставить работать PHP-код в виджете WordPress
Иногда необходимо заставить работать php-код в виджете сайта на WordPress. Можно использовать плагин, который это сделает. Но я вам покажу как сделать подобное без использования плагинов.
При помощи хака мы облегчим свой блог и добьемся необходимого результата за минуту.
Кто не любит ковыряться в коде, может использовать плагин WP PHP widget.
Остальные открывают файл функций шаблона functions.php, который будет лежать в вашей папке с шаблоном на хостинге. Сразу после <?php и с новой строки вставляем следующий код:
//Включаем php-код в виджете
function php_in_widgets($widget_content) {
if (strpos($widget_content, '<' . '?') !== false) {
ob_start();
eval('?' . '>' . $widget_content);
$widget_content = ob_get_contents();
ob_end_clean();
}
return $widget_content;
}
add_filter('widget_text', 'php_in_widgets', 99);
Сохраняем файл и закидываем его на хостинг. Теперь любой код php будет работать в стандартном виджете "Текст" по вашему сайту.
Как использовать полученную информацию?
Один из вариантов применения я описывал ранее в статье Миниатюры последних записей в сайдбаре. Таким же образом мы можем выводить последние записи, комментарии, статистическую информацию о сайте (у меня виджет предпоследний с количеством статей и комментариями), установить ротатор баннеров или прочей информации.
Возьмем к примеру сайт www.konstar.ru, который продает фаскосниматель (инструмент для обработки труб): можно в сайдбаре организовать ротатор товара или услуг, чтобы дополнительно привлечь внимание клиента. Это повысит % конверсии, т.к. не всегда человек попадает с поисковой выдачи на нужную страницу.