Выложите на Pastebin весь код плагина с изменениями.
Выложите на Pastebin весь код плагина с изменениями.
1. Да плаг ещё не допилен — пока «черновик».
2. Я как бэ не очень чтобы кодер 🙂 Так.. местами могу разобраться. (тем более что исходный плаг из 2-файлов всего)
3. Я буржуйского не знаю.
4. Главное. Как показали эксперименты — дело наверняка не в плагине. Если просто в страницу (PAGE) вставить многострочное textarea — происходит тоже самое.
Может где-то какие-то фильтры нужно применить? Как?
UPD. Я, видимо, не точно назвал топик. Нужно не полностью удалить теги, а удалить их вывод (отображение) в textarea. К сожалению, уже не могу поправить название топика.
В общем случае strip_tags()
работает.
Установил плагин — теперь, чтобы ответить на вопрос, мне понадобится:
- Найти место для вставки процитированного фрагмента.
- Угадать другие ваши изменения (или сделать их по-своему), чтобы фрагмент воспринимался плагином.
- Найти причину проблемы.
- Придумать решение.
Я, конечно, попробую, но это будет дольше и не факт, что сегодня 🙂
Без первых двух шагов было бы проще, тем более что для отправки кода на Pastebin регистрироваться там не нужно.
По поводу процитированного фрагмента:
__(strip_tags (get_option('mlcf_field_tos'), 'mlcf'))
Эту строку правильнее было бы записать так (обратите внимание на скобки):
__( strip_tags( get_option('mlcf_field_tos') ), 'mlcf' )
Локализация здесь вряд ли нужна, поэтому остаётся:
strip_tags( get_option('mlcf_field_tos') )
Но вполне возможно, что проблема не в этом.
теперь, чтобы ответить на вопрос, мне понадобится:
Могу выслать на мыло. Какое?
Но вполне возможно, что проблема не в этом.
Да, как я выше сказал — это «проблема» в самом ВП. Если просто вставить в пост
<textarea>Вот тут
вставим любой многострочный
текст</textarea>
,
то при выводе страницы ВП в него вставляет теги переносов строк и параграфов (в базе тегов нет).
Т.е. выводит в textarea приблизительно так:
----
Вот тут<br />
вставим любой многострочный</p>
<p>текст
----
Сами переносы надо, но вот показывать html-код в поле — это лишнее.
Ага, теперь понял. Нужно отключить для этой страницы фильтр wpautop
.
Можно добавить подобную строку в page.php
перед the_content()
:
<?php if ( is_page('contact') ) remove_filter('the_content', 'wpautop'); ?>
Или фрагмент в functions.php
активной темы:
function remove_wpautop_for_contact_form($content) {
if ( false !== strpos($content, '<!--contact form-->') )
remove_filter('the_content', 'wpautop');
return $content;
}
add_filter('the_content', 'remove_wpautop_for_contact_form', 5);
Или воспользоваться плагином типа Text Control:
http://wordpress.org/extend/plugins/text-control-2/
Спасибо большое, срослось внесением изменений в functions.php.
Однако можно ещё попытать? 😉
Вот этого не понял:
Можно добавить подобную строку в page.php перед the_content():
1. В этом файле нет вызова the_content(). Куда вставлять, чтобы правильно?
2. Что в коде есть ‘contact’? часть урла? слаг? или что? (как определить что нужно тут написать?)
И последнее (наиболее интересно)
3. Можно ли и как глобально (не в шаблоне) исправить эту «фичу» ВП. А именно — отключить фильтр wpautop для всех тегов форм (input, textarea и др)? (Без плагинов, ессно)
И всё-таки, как победить этот баг ВП?
А именно — отключить фильтр wpautop для всех тегов форм (input, textarea и др)? (Без плагинов, ессно)
..и конечно же без правки шаблонов.