Exec-PHP и Wordpress 2.8.x

На данный момент всецело поглощен созданием сплого-сетки под киновип. Подробнее об этом напишу в ближайшее время, а сейчас я хочу рассказать, как можно решить проблему в Exec-PHP плагине на новых версиях WP. Проблема заключается в том, что пхп блок в теле статей, содержащих в себе тег <!–more–> заменяется на < ? ?> и < ?php ?> соответственно (пробел между скобкой и знаком вопроса). Из-за этого данный код рассматривается как простой текст и Exec-PHP его не выполняет. Это связано с введением новой функции в ядре WP – force_balance_tags( $text ) (находится в файле wp-includes/formatting.php). По этому делу даже заведен официальный баг http://core.trac.wordpress.org/ticket/10248, но вроде его не собираются фиксить.

Итак, самое простое решение, которое я придумал для этой проблемы – добавить пару строчек в конец функции force_balance_tags( $text ):
$newtext = str_replace("< ?php", "<?php", $newtext);
$newtext = str_replace("< ?", "<?", $newtext);

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

Один комментарий to “Exec-PHP и Wordpress 2.8.x”

  1. Вероника 24 октября 2022 at 11:33 #

    Меня это не беспокоит.