Дорабатываем функционал WordPress позволяя исполнять в записях и страницах php-код. Это может пригодиться для вызова различных функций или циклов без применения шорткодов.
Реализация с помощью функции exec_php
Вставляем в funсtions
// 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);
В секции добавления содержимого поста открываем и закрывает php конструкцию шорткодом кв.ск exec кв.ск код кв.ск /exe cкв.ск
Пример вывода php-кода (get_archives (‘postbypost’, 5);):
Deprecated: Функция get_archives с версии 2.1.0 считается устаревшей! Используйте wp_get_archives(). in /home/t/tiberi6w/opttour.ru/public_html/wp-includes/functions.php on line 6131
В данном решении работают далеко не все php сценарии

