Всем привет!
Сегодня я поделюсь кодом, с помощью которого можно будет вставлять любой код, написанный на php, в страницу или в запись.
Если у вас стоял плагин, с помощью которого вы решали все эти проблемы, можете его удалить (к примеру, плагин Inline PHP), если не ставили, то не устанавливайте, так как код имеет всего пару строчек.
Зачем выводить внутри статьи или записи работающий код php?
Бывают разные причины, вот например, вы хотите вывести кнопку «купить» в самой статье, где после нажатия, товар попадет в корзину, или хотите вывести форму в статье, где будет вестись подсчет символов и балов. Идей, как применить данную функцию, я думаю, вы найдете намного больше. Итак, добавьте в файл «functions.php» вашей темы вот такую функцию:
/* чтобы вставить код php в статьях/страницах WordPress, поставьте шоркод: [exec]код[/exec] */ 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; } add_filter('the_content', 'inline_php', 0);
Теперь вставляйте шорткод прямо в статью или запись:
[exec]здесь php код [/exec]
Внимание: при вставке php кода в шорткод, не используйте «<?php ?>»
То есть будет вот так:
[exec]echo date('Y');[/exec]
Если вы хотите вывести код, как обычный текст, выведите php код вот таким шорткодом:
[exec off]php код[/exec]
Это все! Удачи!
Понравился пост? Помоги другим узнать об этой статье, кликни на кнопку социальных сетей ↓↓↓
Последние новости категории:
Похожие статьи
Популярные статьи:
-
Как узнать id компьютера
Дата: 29 марта 2013
Прокомментировано:90
просмотров: 330330 -
Размеры форматов листов А0 – А7
Дата: 23 января 2013
Прокомментировано:3
просмотров: 274683 -
Смешные логические загадки с подвохом, отгадки прилагаются
Дата: 12 ноября 2014
Прокомментировано:5
просмотров: 222435 -
Готовые макеты блоков для веб-страниц на HTML и CSS
Дата: 25 июня 2014
Прокомментировано:23
просмотров: 187485 -
Установка windows 7 на ноутбук
Дата: 18 декабря 2012
Прокомментировано:169
просмотров: 186559
17 Ответов на комментарий - Как вставить php-код в WordPress на страницу или запись
Добавить комментарий
Метки: wordpress, без плагинов
Как всегда всё просто, понятно, а главное бесплатно. Спасибо большое Степан !
К сожалению, не работает.
Допустим, вот такой код:
Выводим текст
В итоге, выводится и строка “Выводим текст” и дата.
Уже понял ошибку. Выводить текст нужно тоже в PHP выводить. Но вот поставил скрипт кнопки и после нажатия на неё должен сработать PHP, а меня выбрасывает на главную страницу и сайт начинает глючить..
Кажется полностью разобрался, забираю свои слова обратно, но всё же…
Если использовать такую конструкцию для ввода какого-то значения и отправки его через submit:
То после нажатия на кнопку сайт перебрасывает на “Результаты поиска:”, где выводится всё, что на нём есть. Вот попробуйте. От этого можно как-то избавиться? Т.е. чтобы после нажатия на кнопку submit открывалась только одна страница?
Не вставляется форма, поэтому убрал скобки
input ENGINE=”text” name=”form_code” value=”” style=”width:200px;”
input type=”submit” value=”Введите код” style=”width:200px;”
Андрей, что именно Вы хотите сделать?
Разобрался уже) Не думал, что вставка кода php в WordPress настолько специфична. Например, нельзя разрывать код php чередуя его с кодом html, если это единый логический блок. Из-за этого ничего не работало. Потом переделал логику и заработало.
Степан, во первых спасибо за такую хорошу задумку и код, но есть вопрос, можно ли вводить многострочный php код?
да, можно
Не работает сайт . Ругается на eval
Возможно срабатывает защита.
Мдаа.. Безопасность? не, неслышали!
Степан, Вы просто красавчик Спасибо Вам за помощь.
Спасибо, Анастасия!
Очень приятно!!!
смешно звучит!!!
Сам WP и плагины из файлов php.
Если хотите безопасность, используйте HTML
Если в одном из скриптов ошибка, осыпаются все остальные ниже
Напишите подробней о проблеме