Вывод PHP кода в статьях WordPress без плагина

5 декабря, 2017 2 Автор Админ

По ходу работы над сайтами на WordPress, одной из используемой функцией стала функция добавления шорткода [exex], он позволяет добавить PHP код непосредственно при написании статьи, результат будет выведен при просмотре статьи.

При определенных условиях это добавляет уязвимости сайту, но если у вас нет возможности регистрации пользователей на сайте, то можно использовать не боясь.

Для этого достаточно добавить функцию в файл function.php дочерней темы (если еще не сделали, то очень зря), или основной темы (если нет дочерней).

<span class="simbol">function exec_php($matches){
eval('ob_start();'.$matches[1].'$inline_execute_output = ob_get_contents();ob_end_clean();');
return $inline_execute_output;
}
function inline_php($content){
$content = preg_replace_callback('/\[exec\]((.|\n)*?)\[\/exec\]/', 'exec_php', $content);
$content = preg_replace('/\[exec off\]((.|\n)*?)\[\/exec\]/', '$1', $content);
return $content;
}</span>

 

Для вставки PHP кода, который вы хотите выполнить в постах или страницах на сайте WordPress: [exec] тут ваш  код [/exec]

Для чего это может понадобиться? К примеру если вы делаете сайт для коммерческой организации, и вам нужно упростить вывод цен на товары, не используя специализированные плагины типа Woocommerce, просто делая карточку товара в виде таблицы, с фотографиями и характеристиками можете тут же вывести стоимость этого продукта, без лишних усилий, просто положив файл php с заранее определенными ценами, и выводить их через конструкцию [exec] include 'price.php'; echo $priceTovar1; [/exec]

При этом в файле "price.php" переменная  "$priceTovar1" должна быть уже объявлена, и ей присвоено какое то значение

$priceTovar1=100; //цена на товар 1

Это простое решение значительно ускорит разработку сайта, и удешевит стоимость его создания для клиента, единственное неудобство, это то что нужно править цены используя FTP подключение, выкачивая файл с ценами на локальную машину, исправляя цены, и заливая его обратно, но есть и плюсы, это не грузит сервер дополнительными плагинами и в самом файле «price.php» можно производить нехитрые (или хитрые, ведь можно установить множитель для всех цен, и меняя только одну цифру, менять все цены на сайте) вычисления с ценой единицы товара, пересчитывая например стоимость за квадратный или погонный метр и выводить тут же в таблице, все это очень хорошо отразится на конверсии а как следствии на SEO продвижении сайта.