Интеграция PHP-кода в посты Wordpress
Короче. Wordpress, в принципе, движок довольно гибкий. Даже настолько гибкий, что на его основе можно создавать “классические” сайты, которые подразумевают не столько блоггинг, сколько размещение инфы в по стандартной схеме – с категориями, страницами абаут и прочей прелестью.
Однако часто возникает такая проблема: надо встроить в Wordpress, напрмер, PHP-код. Мало ли для чего, например, организовать форму обратной связи просто-напросто.
Конечно, можно найти соответствующий плагин. Однако – плавали, знаем :) – все эти плагины, во-первых, как правило, написаны на буржуйском диалекте, что попрождает массу проблем с локализацией. Не столько проблем даже, как просто мороки. К тому же, плагины часто “капризничают”, не хотят работать вообще или как надо.
Интеграцией свего собственного (или стыренного) PHP-скрипта можно решить сии проблемы. Однако просто так ни на страницу, ни в пост этот скрипт не встроишь.
Есть несколько плагинов, которые как раз призваны обеспечит возможность простой и изящной интеграции PHP в ваш пост. Я перепробовал их, по-моему, чуть ли не все. Ни один не работал как надо, или вообще не работал. Потом я наткнулся на этот плагин (спасибо yantar), поставил его – и все закрутилось :) Интеграция кода в пост теперь происходит очень просто, с использованием стандартного пхп-шного синтаксиса. Например, в посте я пишу:
<?php echo 'Hello World!'; ?>
И усе работает! Автор данного плагина обращает внимание на недостатки его “конкурентов” (полностью с ним согласен!!):
RunPHP by Mark Somerville:
uses XML tag syntax to separate code from HTML
does strange conversions to “fix” texturized posts
does not support user restrictionsRunPHP by James Van Lommel
creates parsing errors with most of the test code below
no way to include PHP code if the WP 2.x rich editor is usedPHP Exec by Priyadi Iman Nurcahyo
uses XML tag syntax to separate code from HTML
does strange conversions to “fix” texturized postsEzStatic 3 by Owen Winkler
no way to include PHP code if the WP 2.x rich editor is used
does not execute test #16 (see below)
Осталось добавить только вот что: если вы используете WYSIWYG, будьте готовы к тому, что он запоганит вам все!! Даже если вы его временно отключите, пропишете пхп-теги, а потом задумаете отредактировать этот пост с помощью того же WYSIWYG, есть ОЧЕНЬ большая вероятность, что этот пхп-код он интерпретирует по одному ему понятной логике. Поэтому, если вы используете визуальный редкатор WYSIWYG, план действий такой:
1. Временно отключаем его. (админка, ваш аккаунт, убрать галочку.)
2. Пишем пост/страницу с внедрением в него PHP-кода.
3. Сохраняемся, и можно включать опять WYSIWYG.
4. Если вам надо отредактировать ваш пост с PHP-кодом, то сначала отключаем!! WYSIWYG, а потом уже лезем в панель редактирования.
Вроде все.


Добавить пхп-код в пост можно без всяких плагинов.
Дело в том, что существует так называемый user level.
Если он равен 9 и больше (всего 11), то пользователь может добавить пост с пхп-кодом, и он будет исполнятся.
Юзер-левел зависит от количество постов, комментов и так дальше.
Если админ установил вордпресс и написал пару постов, его левел 0, то есть, он не сможет так сделать.
Поэтому идем в базу данных, и редактируем юзер-левел админа, ручками исправляем на 9
И все работает :)
Без всяких плагинов.
Пост был написан в марте 2006 ;) Тогда WP не позволял исполнять пхп-код просто так.
ссылки в посте битые. Юзер-левел в вордпрессе 2.71 я чтото не нашел, там есть только какой-то user_status, но я его на 9 исправил и php так же не добавляется.
думаю можно найти плагин нормальный, но хотелось бы иметь решение без плагина. Кто-нибудь знает есть ли оно?
Интересно услышать автора сейчас – в мае 2009. Насколько изменилось отношение к WP, к WYSIWYG, и каковы успехи в прогании на PHP на сегодняшний день?
Да ничего интересного… на дворе август 2009. я до сих пор не могу запустить пхп в посте.
Ну, правда, не смешно. WP 2.7.1
Подскажите…а?
Странно, сейчас вроде бы не должно быть проблем с этим