WordPress автоматически связывает электронные адреса электронной почты

Привет, ребята, я использую последнюю версию wordpress (3.1.1). Это только я, или wordpress теперь автоматически связывает электронные адреса электронной почты с обычным текстом?

Я jdoe@email.com в качестве комментария, и он отображается как <a href="mailto:jdoe@gmail.com">jdoe@gmail.com</a>

Я работаю над плагином, который фильтрует текст комментария, используя фильтр get_comment_text а затем изменяет представление адреса электронной почты. Этот плагин работал нормально раньше, но, как я уже сказал, теперь wordpress автоматически связывает адреса электронной почты.

Я подумал, что WordPress будет следовать своим собственным правилам и делать это с помощью фильтра, поэтому я пошел вперед и добавил уровень приоритета в свой собственный фильтр 9000 понять, каким образом я могу заставить мой запускать после того, как WordPress будет торчать нос в что-то, что не является его бизнесом, но это не сработало.

Мне интересно, знает ли кто-нибудь об этом в этой ситуации или, по крайней мере, если кто-нибудь, знающий о системе, может указать мне на источник, отвечающий за эту автоматическую привязку.

У моего плагина уже есть функциональность для работы с текстовыми сообщениями электронной почты, но это тоже не работает, потому что после того, как он изменяет представление электронной почты с открытым текстом, WordPress затем переходит и связывает его.

EDIT : Один Trick Poney указал мне на make_clickable который несет ответственность за это. Это действительно добавлено как фильтр в wp-includes/default-filters.php , с приоритетом 9 . Тем не менее, я уже пробовал, как я уже упоминал выше, установить уровень приоритета до 9000 чтобы заставить мой плагин работать после того, как wordpress сделал свой грязный бизнес. Это не сработало, потому что я получаю оригинальный нефильтрованный контент? Я решил, что получаю отфильтрованный контент (т. Е. Уже связанный контент).

Итак, я пошел вперед и активировал прозрачный текстовый фильтр (который применяется к текстовым сообщениям электронной почты) и применил его как приоритет -9000 так что он попадает в make_clickable , но опять ничего хорошего из этого не произошло, потому что когда make_clickable срабатывал , он пошел вперед и решил, что было бы неплохо связать ссылки, которые я создаю. Он «связывает» URL-адреса в атрибуте href ссылки, делая для очень грязного вывода.

Похоже, что лучше всего было бы заняться после того, как make_clickable выполнил свой бизнес после того, как make_clickable уволил, но, как я уже сказал, почему-то, хотя я применяю свой фильтр к уровню приоритета 9000 , по сравнению с make_clickable , приоритет которого уровень – всего 9 , ничего не происходит. Я продолжу расследование.

Я могу понять и представить себе, что разработчики WordPress пытались быть более удобными для пользователя, но это, похоже, вызвало некоторые проблемы с кратким случаем (например, связывание атрибутов href в уже существующих ссылках).

Любая помощь будет принята с благодарностью.

EDIT 2 : Да, я только что проверил свой фильтр с уровнем приоритета 9000, который, как я мог бы предположить, должен запускаться после wordpress ' make_clickable , уровень приоритета которого равен 9. Мой фильтр получает неизменный / нефильтрованный контент. Я не знаю, как и почему это происходит. Я бы предположил, что с более поздним приоритетом я получаю контент, поскольку он до сих пор был изменен фильтрами с более высоким приоритетом, в противном случае такие ситуации (столкновения?) Возникли бы, как этот.

Я заметил, что фильтр wordpress ' make_clickable был прикреплен к крюку фильтра comment_text а не get_comment_text , и это то, что я использовал некоторое время. Я исследовал ранее, если это может быть так, в частности, выясняя, какая разница между ними, и я думаю, что я что-то читал о comment_text используя get_comment_text , поэтому, возможно, он делал что-то более одного раза, в результате чего появился странный вывод ,

Я решил это, изменив свой фильтр на крючок на comment_text , таким образом, приоритет будет иметь значение (duh) и сохранит уровень приоритета фильтра 9000. Предварительные тесты показывают, что все работает. Таким образом, мне не нужно беспокоиться о том, что wordpress меняет свой результат непредсказуемыми способами, вместо этого я могу просто потрудиться, чтобы работать с тем, что WordPress вырывается. По крайней мере, так я знаю, с чем я могу работать, и с чем я не могу работать.

Еще раз спасибо одному трюкому пони за то, что он дал мне преимущество.