Бывают ситуации, когда очень удобно использовать весь потенциал языка программирования PHP в тексте при написании статей. Речь идет о статьях для WordPress.
Все кто пробовал написать какой либо php код в посте, в надежде что он сработает, знают, что WordPress воспринимает такой код как простой текст. Однако иногда бывает удобно запустить, ...
- Предыдущие по меткам
- Предыдущие записи
Ранее: Код
- Меняем символы ХТМЛ (< >) на спецсимволы при комментировании ← 16.Апр.2010 // 12
- Код на страницах вашего сайта. Как я решил эту проблему ← 26.Мар.2010 // 31
- Сравнение СЕО плагинов platinum SEO Pack и All in One SEO Pack и отказ от них ← 24 Май 2010 // 89
- Функция для вывода последних записей в WordPress ← 17 Май 2010 // 110
- Мой метод избавления от спама в комментариях, для WordPress ← 10 Май 2010 // 13
Отлично, это то, что я искал. Только один вопрос, а как сделать, чтобы при просмотре анонса статьи php код тоже выполнялся или вообще не выполнялся. А то сейчас он просто показывается как есть, что не безопасно.
Вообще, вроде как автоматом должен вырезаться, конструкция шоткода ведь.
Чтобы поправить, добавьте еще такой хак в functions.php
add_filter( 'the_excerpt', create_function('$a', 'return preg_replace("!\[exec.*/exec\]!isU","",$a);') );Он будет вырезать коды для функции the_excerpt(), которая используется WordPress для вывода анонсов.
Спасибо, помогло. Теперь как надо!
Я погорячился, все так же выводит весь код вставленный в [exec] [/exec].
У меня в шаблоне это реализовано через the_content_rss, а не через the_excerpt(). Спасибо, разобрался.
Приветствую. Подскажи в чем проблема, при вставке функции выдает такое сообщение на странице
то есть ругается на эту строку
eval('ob_start();'.$matches[1].'$inline_execute_output = ob_get_contents();ob_end_clean();');возможно дело в этом, покажи на примере пожалуйста
Собственно хочу вставить в некоторые места вывод твоей функции вывода просмотров, поэтому вывести надо вот этот код
Ага, проблема в том что вставляемый код неправильный.
Нужно так:
или
Точно не уверен второй пример сработает или нет, но логика думаю понятна.
Ни то ни другое не выводят данные, хотя отрабатывают без ошибок
Значит данных нет.
Проверьте ключ произвольного поля, может он неправильно указан, это единственное что приходит на ум.
Ну поле точно не пустое это, а ключи даже другие пробовал выводить, но все равно пусто.
Аааа, ну да, все правильно
$postто глобально нужно определить, внутри функции же вызывается:Спасибо
можно сделать следующую простую защиту (то что сразу пришло мне в голову): включать исполнение конструкции [exec]php код[/exec], только в том случае, если, например, у поста есть какое-либо произвольное поле или, скажем, пост написан в 00 минут. Естественно только вы будете знать эту хитрость при которой код будет исполняться и соответственно только вам будет доступна возможность вставить php код в статью.
А как это реализовать чайнику?
Как заставить исполняться в рамках [exec]php код[/exec] процедуру include
Как обычно в php это делается: [exec]include ('путь_к_файлу.php');[/exec]