Вставка PHP кода в WordPress записи и виджеты

Давно подумывал над тем, чтобы вставлять исполняемый код в посты, страницы и виджеты WordPress. Поскольку сам движок написан на PHP — логично вставлять именно его, хотя можно попробовать встроить например Perl, воспользовавшись CPAN-модулем PHP::Interpreter или PECL-модулем PHP под названием perl. Но PHP вставить естественно проще :).

Итак, как же вставить в WordPress PHP? Как и в большинстве других случаев, когда надо модифицировать движок — просто воспользоваться подходящим плагином.
Плагинов находится множество, я попробовал 4 штуки и остановился на Exec-PHP.
Он умеет всё, что мне было надо:

  • Вставлять исполняемый PHP код в посты (и соответственно — в страницы)
  • Втавлять код в виджеты

Прейдём к настройке плаина.

Настройка может оказаться не совсем очевидной — с административной страницы плагина всё сделать не получится. Чтобы исполнение PHP-кода в WordPress заработало, нужно убедиться в следующем:

  • Что пункт "WordPress должен исправлять некорректный XHTML код автоматически" в меню Настройки->Написание неактивен
  • Что выключен «графический» редактор в меню Пользователи->Ваш профиль (стоит галка на "Отключить «визуальное редактирование» при написании")
  • Что нужной группе пользователей (в WordPress это называется «ролью») разрешено исполнение PHP-кода (для роли «Administrator» должно быть разрешено по умолчанию)

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

Считаю не лишним напомнить про опасность исполнения неочищенного кода. Не знаю, поддерживает ли PHP какую-то аналогичую perl -T опцию, поэтому нужно просто помнить про очистку пользовательского ввода (использование недопустимых символов, размеры аргументов опций и т.п.), экранирование всех передаваемых в shell команд и их аргументов и так далее.

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



Category Рубрики: Блоггинг, Хитрости | Tag Метки: , , , , | Comments 2 комментария »

2 комментария

  1. Михаил says:

    Снова полезная статья, пока сам в этих настройках разберёшься…

    Пишите почаще.

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