Как выполнить PHP код в текстовом виджете

Автор:
Nurlan Kemelbekov

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

Есть много плагинов, делающих эту задачу, но вместо установки плагина эту простую работу можно можно сделать, просто добавив в functions.php файл темы сайта эти несколько строк. Я знаю, что это занимает гораздо меньше времени, чем установка плагина.

Найдите файл functions.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);

Теперь очистить кэш, если вы используете такие кэш плагины, как WPSuper Cache или W3 Total Cache.

Пять лучших WordPress плагинов кэширования

Чтобы проверить работу, вставьте следующий код PHP в текстовый виджет

<?php echo 'Привет мир !!!' ?>

Теперь проверьте место, где вы разместили виджет и Вы должны увидеть слова «Привет мир!»

Как включить шорткоды в WordPress Widget области

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

Шорткоды — кусок эталонного кода, который выполняет определенный набор кодов и используется для уменьшения избыточности кода. Их можно использовать в любом месте внутри содержимого, но не в область виджет.

Многие WordPress плагины, такие как YARP поддерживают шорткоды, но если вы хотите запустить эти короткие номера в такой области, как боковая панель и нижний колонтитулы, добавьте следующую строку кода в function.php файла текущей темы.

add_filter ('widget_text', 'do_shortcode');

Теперь сохраните файл и для проверки работоспособности добавить пользовательский шорткод в текстовый виджет



Вам также может понравиться:


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

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

* Copy This Password *

* Type Or Paste Password Here *

12 − 1 =

Я просто хотел сказать, как сильно я ценю Ваш комментарий на мой пост. Спасибо Вам !!