Вывод PHP кода в Elementor

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

Несомненно, одним из самых лучших Pagebuilder’ов для WordPress является Elementor, он позволяет красиво оформлять страницы (контент) вашего сайта на WordPress, при этом вы можете не знать CSS и HTML, получать при этом красиво оформленные страницы,в том числе с анимацией любых элементов (рисунки, блоки, картинки). Но речь в этой статье пойдет не о дизайне сайта и его станицах, а о внедрении простого php кода через Elementor. Точнее вывода любого PHP кода, который вы напишите непосредственно в любом блоке Elementor’а.

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

Elementor был установлен для того, что бы заказчик в дальнейшем сам мог наполнять сайт контентом, добавлять и удалять товары, не меняя стилистику, без привлечения вэбмастеров и в том числе меня

Вид этого файла примерно такой (файл price.php).

<?php
$price1=1; //стоимость товара 1
$price2=3; //стоимость товара 2
$price6=10; //стоимость товара 3
$price7=$price6*0.8; //товар 3 со скидкой 20%
?>

В чем тут сложность? Ведь допустим что бы вывести PHP код на странице WordPress таким образом. Дело в том что в Elementor’ре это не проходит, ему нужно делать другую функцию, а именно добавить шорткод под него, вот такого вида.

function price_sc($prc) {
    include 'price.php';
	 $prc = ltrim($prc['price'], '$'); 
	$prc_o=$$prc;
	 return $prc_o;
}
add_shortcode('price_short', 'price_sc' );

Этот код нужно добавить в файл вашей дочерней темы WordPress, если вы не практикуете создание дочерних тем, и перепиливаете прямо оригинал, то можете добавить в function.php оригинальной темы, но будьте готовы к тому что после очередного обновления все ваши шорткоды «слетят».

Вывод в блоках Элементора уже осуществлять при помощи шорткода следующего вида: [price_short price="price1"] , этот шорткод выводит значение переменной $price1 из файла "price.php". При этом знак $ перед именем переменной не нужно указывать, функция сама все сделает.