PHP в сайдбаре вашего WordPress сайта

PHP в сайдбаре вашего WordPress сайтаПо молчанию коды php не работают в виджетах сайдбара сайтов на WordPress. Как правило, код php отображается на сайте как обычный текст. Решить эту проблему можно прибегнув к установке различных плагинов, что довольно неудобно, кроме того, каждый новый плагин добавляет определенную нагрузку на сайт. Разумеется, нагрузку на сайт дают и дополнительные скрипты, но в большинстве случаев она не сопоставима.

Не реализована данная функция в WordPress по той простой причине, что любой php код можно прописать в файле sidebar.php, однако во многих случаях это весьма неудобно и, к тому же, трудозатратно. Кроме того, в при выборе варианта с редактированием sidebar.php, придется заново работать над каждой новой необходимой функцией, тогда как в виджетах все это решается простым добавлением нового текстового блока в нужное место.

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

Опубликованный ниже скрипт нужно прописать в файле functions.php вашего сайта. Для этого в админ-панели перейдите на вкладку «Внешний вид» - «Редактор», найдите файл functions.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);

Не забывайте сохранять произведенные изменения!!!

О том помогла вам или не помогла данная статья - прошу отписаться в комментариях, буду весьма признателен!

Вы можете оставить комментарий, или ссылку на Ваш сайт.

1 комментарий к записи “PHP в сайдбаре вашего WordPress сайта”

  1. Chupacabra:

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

Оставить комментарий

Яндекс.Метрика