Не работают шорткоды WordPress? Как вставить PHP-код в пост?
Последние версии WordPress и WooCommerce (на момент написания статьи – это WordPress 4.0. и WooCommerce 2.2.4 ) совместно работают некорректно при попытке добавить шорткод (shortcode) в новый пост или страницу. Срабатывают лишь базовые шорткоды, например,
[woocommerce_cart]
для страницы «Корзины», которую WooCommerce и так автоматически формирует при установке. А вот добавить, например, шорткод для вывода 12-ти товаров по 4-ом колонкам
[recent_products per_page="12" columns="4"]
может и не выйти. Это также зависит от установленной темы.
Вставить данный шорткода в виде классического PHP
<?php echo do_shortcode('[recent_products per_page="12" columns="4"]'); ?>
в новую страницу или пост товара в режиме «текст» мы можем, но он не заработает – WordPress не выполнит его. Вы можете убедиться в этом, просмотрев исходящий код созданной страницы.
Решений этой проблемы есть минимум два:
1) Подробнее читайте на этом ресурсе: http://wp-kama.ru/id_87/ispolnyaemyiy-php-kod-v-zapisyah-wordpress.html
2) Устанавливаем плагин Inline PHP (https://wordpress.org/plugins/inline-php)
В режиме «текст» добавляем нужный нам шорткод в пост или страницу в следующем формате:
[exec] echo do_shortcode('[recent_products per_page="12" columns="4"]'); [/exec]
Прописывать <?php и ?> не нужно – для этого служат [exec] и [/exec]
Итак, конструкция следующая:
[exec] echo do_shortcode('[ваш шорткод]'); [/exec]
О безопасности: если кто-либо получит доступ к редактированию статей, постов, то сможет запустить на Вашем ресурсе, что угодно!
Также следует отметить очень удобный плагин для интеграции шорткодов в посты, страницы, виджеты – WooCommerce Shortcodes:
https://wordpress.org/plugins/woocommerce-shortcodes/screenshots/
У нас Вы можете заказать SEO-оптимизированный Интернет-магазин на базе WordPress + WooCommerce по очень приятной цене!