Исполняемый php код в постах и постоянных страницах WordPress


Как выполнить произвольный php-код в посте без плагинов

Иногда требуется вставить исполняемый php-код непосредственно в сам пост (например, в качестве примера). Для этого можно воспользоваться специальными плагинами, но многие из них слишком громоздкие и капризные. Поэтому давайте вовсе обойдемся без плагинов — создадим специальный шорткод, запускающий произвольный php-код непосредственно в посте.

Откройте файл functions.php и добавьте в него несколько строк:

function run_php($matches) <
eval(‘ob_start();’.$matches[1].’$inline_execute_output = ob_get_contents();ob_end_clean();’);
return $inline_execute_output;
>
function run_php($content) <
$content = preg_replace_callback(‘/\[run\]((.|\n)*?)\[\/run\]/’, ‘exec_php’, $content);
$content = preg_replace(‘/\[run off\]((.|\n)*?)\[\/run\]/’, ‘$1’, $content);
return $content;
>
add_filter(‘the_content’, ‘run_php’, 0);

Этот шорткод имеет конструкцию:

Все, что находится внутри шорткода, считается исполняемым php-кодом. Довольно удобно!

Если вы не хотите, чтобы php-код выполнялся, то можете использовать такую конструкцию:

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

Используя этот шорткод, вы должны быть уверены, что посторонние не имеют доступ к блогу. Иначе злоумышленник может опубликовать пост с вредоносным кодом внутри. Так что заблаговременно позаботьтесь о безопасности блога.

Allow PHP in Posts and Pages

Плагин Allow PHP in Posts and Pages позволяет исполнять php-код прямо в записях или страницах вашего блога. И в отличие от множества других подобных плагинов, этот плагин умеет удалять разметку, которую автоматически вставляет WordPress, что важно, так как сейчас практически никто не отключает встроенное в движок автоформатирование текста.

Скачиваем плагин по ссылке в конце страницы и устанавливаем его:

1. Распаковываем архив.

2. Копируем папку allow-php-in-posts-and-pages в /wp-content/plugins/.

3. Заходим в админку блога на вкладку «Плагины» и активируем плагин.

Плагин создает свое отдельное меню «Allow PHP in Posts«, состоящее из двух под-меню: «Allow PHP in Posts» и «Information«. По сути, пользоваться настройками вам надо только, если вы будете создавать «сниппеты» кода. Почти все остальное в настройках плагина является справочной информацией.

Сразу после активации плагина вы можете им пользоваться – чтобы вставить php-код в запись достаточно в HTML-режиме редактора обернуть его в теги [php] и [/php]. Объявлять код не надо:

Большинство проблем с плагином может возникнуть из-за встроенного в WordPress автоформатирования текста. Даже справочные примеры php-кода плагина могут не работать по банальной причине – в них используются кавычки (знаки дюйма «), которые WordPress меняет на символы « и ».

Например, если использовать код:

[php] global $user_ ; > [/php]

То вы увидите лишь сообщение об ошибке «Parse error«. А единственный недостаток этого кода в использовании в качестве кавычек знаков дюйма. Чтобы понять это, достаточно вставить данный код в дебаг-режиме:

[php debug=1] global $user_ ; > [/php]

Сразу становится ясно, что ошибка возникла из-за замененных WordPress знаков дюйма. При любых проблемах с кодом используйте дебаг-режим вставки кода и ошибки станут очевидны.

Жаль, что плагин автоматом не решает проблему с заменой кавычек. Но зато он удаляет всю разметку, которую автоматически вставляет WordPress – никаких неожиданных переводов строки или абзацев текста. Но как вставить переводы строки или абзацы, если они нужны, но плагин их удаляет? Это просто – достаточно обернуть их в квадратные скобки []. В справочной информации плагина даже есть памятка:

Топ-пост этого месяца:  SEO словарь популярных терминов, сокращений и сленга вебмастеров

То есть вот такой код:

[php] echo ‘[p]Привет![/p]’; [/php]

Правда есть одна тонкость — в рассматриваемой версии плагина эта функциональность работает правильно только при включенной опции «Use the old version (pre 2.2.0) code replacement method» в настройках плагина.

Таким образом, плагин заменяет квадратные скобки на угловые. Но что делать, если вам необходимо использовать квадратные скобки в коде? Достаточно их экранировать через символ \, то есть так:

И результатом будет:

В плагине реализована возможность создания «сниппетов» кода. Зайдите в «Allow PHP in Posts\Code Snippets» — тут вы можете создавать и редактировать сниппеты c php-кодом. Это может быть полезно, если вы часто используете один и тот же php-код в ваших записях. Например, создадим сниппет под именем «Hello» со следующим кодом:

Использовать данный сниппет можно нажав на кнопку «Allow PHP» в визуальном редакторе и указав его номер.

Можно также просто вставить нужный сниппет через шорткод [php function=2], где 2 это номер сниппета.

Плагин поддерживает вставку php-кода и в текстовых виджетах:

Плагин не лишен недостатков – одна только запутанная система справки чего стоит, но это единственный подобный плагин, который умеет удалять вставленную WordPress разметку, не удаляя ее вообще из всей записи.

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

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

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

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

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

Как разрешить добавление PHP в посты и страницы WordPress, с помощью плагина Allow PHP in Posts and Pages опубликовал Радик Алиев категория Для кодинга, Уроки WordPress
просмотры 5 041

По умолчанию в WordPress не возможно добавить PHP в страницы или в посты. Хотя, многим веб мастерам есть необходимость добавлять свой php в страницы. Итак, чтобы добавлять php код в статью или на страницу WordPress установите плагин Allow PHP in Posts and Pages(смотрите тут последнюю версию плагина). После установки и активации плагина вставьте Ваш php код в shortcode :

Плюс плагина Allow PHP in Posts and Pages в том, что Вы можете охранить свои php запросы в плагине и вызывать их с помощью shortcode в любом посте или странице. Для этого зайдите в настройки плагина, в меню он отображается как Allow PHP in Posts, нажмите на таб Code Snippets и там напишите Ваш код php:

Теперь, чтобы отобразить Ваш сниппет WordPress с php кодом используйте shortcode с id Вашего сниппета:

Исполняемый код PHP в записях WordPress!

Здравствуйте, уважаемые блоггеры!

Не получается часто писать, потому что все время уделяю технической настройке и оптимизации своего блога, чего и Вам рекомендую. Но стабильно, раз в неделю все же стараюсь публиковать полезные для вас статьи. И сегодня, я считаю не менее важная тема – “Как вставить исполняемый код PHP в записях WordPress!”, или “Исполняемый код в постах”! Что это такое и зачем нужно постараюсь объяснить в этой статье.

Топ-пост этого месяца:  Topsy Retweet Button - кнопка retweet

Данная статья поможет тем, кто в своих статьях выкладывает какие либо части кодов, скриптов для общего пользования. Но проблема в том, что нельзя просто так взять и вставить PHP код в запись. После вставки, код в редакторе будет выглядеть, таким, каким вы его вставили, но если опубликовать статью и посмотреть статью на самом сайте – код будет неправильным. Если приглядеться, то можно заметить неправильные кавычки, пробелы лишние или еще какие кракозябры.

Происходит это, потому что WordPress не принимает в записях коды, и правит их на свой лад. И если посетитель захочет использовать такой код, у него ничего не получится – он не будет рабочим.

Я целый день потратил, чтобы найти средство исправления такой ситуации, которое мне и моему блогу подойдет. Плагин “ Crayon Syntax Highlighter ”- довольно хорошо справился с такой задачей.

Возможно, вы видели на других блогах в статьях коды или просто текст в таком виде:

Вставленный код сохраняет все свои функции, и выглядит приличнее в такой форме. Можете посмотреть как выглядит в статье «Как закрыть исходящие ссылки от индексации», там этот плагин я начал использовать впервые.

Исполняемый код PHP в записях — установка “Crayon Syntax Highlighter”!


Давайте перейдем к установке и настройке плагина “Crayon Syntax Highlighter”. Скачайте его, положите в папку с плагинами и активируйте. Альтернативный способ: зайдите в консоль, плагины, добавить новый и введите в поиске название плагина. Далее также установить и активировать.

После активации, плагин начинает сразу работать, но все же стоит посмотреть, какие настройки он имеет. Зайдите в консоль – настройки – crayon.

Мне данный плагин понравился тем, что все настройки на русском языке и понятны любому пользователю. Сделайте все необходимые настройки, и посмотрите, как он будет отображаться (сверху настроек, показан пример)

Кнопка в редакторе

Проверьте, как работает этот чудо плагин. Для этого откройте редактор WordPress для добавления записи. В месте, где хотите разместить свой текст или код, нажмите на кнопку, и откроется новое окно.

В форме окна вставьте код, выберите язык (если нужно) и нажмите добавить.

Вид в редакторе

Вот так он будет выглядеть в редакторе, а после публикации в статье на блоге вот так:

Теперь если будете вставлять код в такую форму, то он всегда будет рабочим, и пользователь может его скопировать и использовать в своих целях без проблем.

На этом у меня все, надеюсь, информация была для вас полезной и я, не зря писал!

Как сделать рабочим PHP код в постах и статических страницах на WordPress. Плагин Exec-PHP.

Всем добрый день! Давно я уже не писал про плагины. Поэтому сегодняшнюю статью мы с mr. Кликом посвятим такому незаменимому плагину, как Exec-PHP.

Для чего нужен Exec-PHP?

С помощью данного плагина можно в постах или на отдельной странице в html-редакторе вставить любой PHP код, который будет работать.

Мне он очень пригодился при создании комнаты «Блогеры круглого стола».

[warning]Перед установкой плагина, обязательно сделайте резервную копию сайта( как сделать бэкап сайта я писал здесь), т.к. он может быть не совместим с другими, а после установки и активации, пробежитесь по блогу и посмотрите, что все работает как положено. [/warning]

У меня данный Exec-PHP конфликтовал с плагином SyntaxHighlighter Plus, который позволял вставку открытого кода для копирования в запись. Поэтому SyntaxHighlighter Plus пришлось найти альтернативу — это WP-Syntax.

Как подключить плагин к блогу?

Выполняем следующие действия:

  • Для начала необходимо скачать его. Советую скачивать этот плагин с специализированного сайта от сюда.
  • После скачивания необходимо загрузить его на свой блог. Для этого переходим в админ панель, а от туда в раздел Плагины->Добавить новый-> Загрузить.
  • После загрузки Exec-PHP не забудьте его активировать.
Топ-пост этого месяца:  Создаем интерактивную картинку с помощью jQuery.

В старой версии плагина были настройки в разделе Параметры->Exec-PHP. Но в свежих версиях этих настроек я уже не увидел. Поэтому после установки заморачиваться с настройками больше не надо. Плагин работает автономно. Теперь можно вставлять любой PHP код в свои записи.

Удачи Вам в работе и освоения WordPress! ��

C Уважением, Александр Рус и его виртуальный помощник mr. Клик.

Обсудить статью можно через Tweeter. Благодарен буду за retweet.

Вставьте код PHP в страницу WordPress и пост

Я хочу узнать страну посетителя, использующую PHP, и отобразить ее на странице WordPress. Но когда я добавляю код PHP на страницу WordPress или отправляю сообщение, это выдает мне ошибку. Как мы можем добавить код PHP в WordPress Page и Post.

WordPress не выполняет PHP в пост/содержание страницы по умолчанию, если у него нет короткого кода.

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

Есть два других «быстрых и простых» способа выполнить его без плагина:

Сделайте его коротким кодом (поместите его в functions.php и попросите его название страны), что очень просто — см. здесь: Shortcode API в WP Codex

Поместите его в файл шаблона — создайте собственный шаблон для этой страницы на основе шаблона страницы по умолчанию и добавьте PHP в файл шаблона, а не в пост-контент: Пользовательские шаблоны страниц

Как разрешить добавление PHP в посты и страницы WordPress, с помощью плагина Allow PHP in Posts and Pages опубликовал Радик Алиев категория Для кодинга, Уроки WordPress
просмотры 5 041

По умолчанию в WordPress не возможно добавить PHP в страницы или в посты. Хотя, многим веб мастерам есть необходимость добавлять свой php в страницы. Итак, чтобы добавлять php код в статью или на страницу WordPress установите плагин Allow PHP in Posts and Pages(смотрите тут последнюю версию плагина). После установки и активации плагина вставьте Ваш php код в shortcode :

Плюс плагина Allow PHP in Posts and Pages в том, что Вы можете охранить свои php запросы в плагине и вызывать их с помощью shortcode в любом посте или странице. Для этого зайдите в настройки плагина, в меню он отображается как Allow PHP in Posts, нажмите на таб Code Snippets и там напишите Ваш код php:

Теперь, чтобы отобразить Ваш сниппет WordPress с php кодом используйте shortcode с id Вашего сниппета:

PHP код в записях и страницах

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

Реализация с помощью функции exec_php

Вставляем в funсtions

В секции добавления содержимого поста открываем и закрывает php конструкцию шорткодом кв.ск exec кв.ск код кв.ск /exe cкв.ск

Пример вывода php-кода (get_archives (‘postbypost’, 5);):

Notice: Функция get_archives с версии 2.1.0 считается устаревшей! Используйте wp_get_archives(). in /home/t/tiberi6w/opttour.ru/public_html/wp-includes/functions.php on line 4440

В данном решении работают далеко не все php сценарии

Поделится информацией с друзьями

Как правильно вставлять PHP коды в странички WordPress?

17.07.2020, 17:07

Re: Как правильно вставлять PHP коды в странички WordPress?
Здравствуйте, пытаюсь написать простенький плагин, но пока что-то не получается. По идее он должен.

Как через шорткод вставлять требуемое значение из файла php
Приветствую всех форумчан! Помогите пжлст с шорткодом, который бы вставлял нужное мне значение из.

Как вставлять коды в CodeBlocks
Такая проблема, учусь программировать на языке С++ и для облегчения работы хочу вставлять некоторые.

В него вставляю описание.

Как правильно вставлять img в html письма
В первые вёрстал html письмо, вёрстал табличной вёрсткой. Проблема вот в чём, картинки ни в одном.

Добавить комментарий