softsprint menu Заказать

Не работают шорткоды WordPress? Как вставить PHP-код в пост?

Октябрь 3, 2014 в 3:42 | wiki

Последние версии WordPress и WooCommerce (на момент написания статьи – это WordPress 4.0. и WooCommerce 2.2.4 ) совместно работают некорректно  при попытке добавить шорткод (shortcode) в новый пост или страницу. Срабатывают лишь базовые шорткоды, например,

1
[woocommerce_cart]

для страницы «Корзины», которую WooCommerce и так автоматически формирует при установке. А вот добавить, например, шорткод для вывода 12-ти товаров по 4-ом колонкам

1
[recent_products per_page="12" columns="4"]

может и не выйти. Это также зависит от установленной темы.

Вставить данный шорткода в виде классического PHP

1
<?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)
В режиме «текст» добавляем нужный нам шорткод в пост или страницу в следующем формате:

1
[exec] echo do_shortcode('[recent_products per_page="12" columns="4"]'); [/exec]

Прописывать <?php и ?> не нужно – для этого служат [exec] и [/exec]

Итак, конструкция следующая:

1
[exec] echo do_shortcode('[ваш шорткод]'); [/exec]

О безопасности: если кто-либо получит доступ к редактированию статей, постов, то сможет запустить на Вашем ресурсе, что угодно!

Также следует отметить очень удобный плагин для интеграции шорткодов в посты, страницы, виджеты — WooCommerce Shortcodes:
https://wordpress.org/plugins/woocommerce-shortcodes/screenshots/

У нас Вы можете заказать SEO-оптимизированный Интернет-магазин на базе WordPress + WooCommerce по очень приятной цене!

Давайте обсудим

softsprint heart

Наши контакты

Львов, Украина
mob: +380 97 551 44 55
skype: softsprint.net

Скажите Привет!