Модератор
Yui
(@fierevere)
永子
functions.php
remove_filter( 'the_content', 'wpautop' );
remove_filter( 'the_excerpt', 'wpautop' );
Yui Не сработало. Нужно именно в визуальном редакторе убрать. А убралось в на реальной странице.
-
Ответ изменён 7 лет, 7 месяцев назад пользователем
fedorov.
Модератор
Yui
(@fierevere)
永子
functions.php :
function tinymce_remove_autop( $init ) {
$init['forced_root_block'] = false;
$init['force_p_newlines'] = false;
$init['force_br_newlines'] = true;
return $init;
}
add_filter( 'tiny_mce_before_init', 'tinymce_remove_autop' );
Yui да, я использовал этот код. Он отменяет автоматический абзац по нажатию клавиши интер, но при проставленных абзацах (или двойных /BR) он не дает в визуальном редакторе поставить курсор на место абзаца.
Возможно я криво объяснил, но думаю Вы поняли. Работать с ним невозможно.
Нужен какой-то код, который именно не только уберет автоабзац по нажатию интер из визуального редактора, но и даст возможность ставить курсор на место абзаца (то есть на строку между абзацами), как это спокойно можно сделать в обычном редакторе.
Сейчас визуальный редактор выглядит каким-то несвободным, скованным из-за невозможности поставить на строку между абзацами.
строку между абзацами

ENTER — абзац
CTRL+ENTER — перенос строки.
SeVlad, к сожалению, куда бы я вашу картинку не вставлял, проблема не решилась…
проблема не решилась
Это печально (с)
Может всё же пробовать понажимать сочетания клавиш?
Или пришло время узнать про <p>
и <br>
? 🙂
Или пришло время узнать
У меня есть предложение лучше. Давайте в моей теме утроим хор народной самодеятельности? Каждый будет в ней отписываться и демонстрировать свою компетентность.
Модератор
Yui
(@fierevere)
永子
Давайте в моей теме утроим хор народной самодеятельности
тогда мне придется ее закрыть, хоровое пение и народная самодеятельность тут неуместна.
Yui очень надеюсь, что процитировав меня, вы написали все же не мне.
да, я использовал этот код. Он отменяет автоматический абзац по нажатию клавиши интер, но при проставленных абзацах (или двойных /BR) он не дает в визуальном редакторе поставить курсор на место абзаца.
Попробуйте в дополнение к предыдущему фрагменту добавить такой:
function tinymce_replace_p_with_br( $mceInit ) {
$mceInit['setup'] = "function( editor ) {
editor.on( 'PostProcess', function( ed ) {
ed.content = ed.content.replace(/<p>(.*?)<\/p>/gi,'\$1<br /><br />');
editor.setContent( ed.content );
});
}";
return $mceInit;
}
add_filter( 'tiny_mce_before_init', 'tinymce_replace_p_with_br' );
@sergeybiryukov, Сергей, вы конечно же волшебник. Это лучшее решение, которое я когда либо видел.
Единственное, он работает не безупречно:
1. При переключении с обычного редактора на визуальный иногда дергаются абзацы;
2. Пропадает или прыгает курсор со строки в разные части текста;
3. Иногда при удалении строки или части текста, он удаляет сразу весь текст.
4. Были еще какие-то глюки, но я их не зафиксировал мысленно, поскольку проработал за ним еще недолго
Но я повторюсь, это лучшее решение, которое я когда либо видел.
Сергей, а бы не хотели доработать и создать соответствующий Плагин? Думаю многим он был бы полезен.
Я вам так скажу, за 10 лет работы в WordPress ни я ни мои коллеги никогда не работали с визуальным редактором. Он жутко неудобен как раз из-за своей ФИКСИРОВАННОСТИ и невозможности поставить курсор между абзацами. Более скажу, все известные мне плагины, дополняющие визуальный редактор, НЕ РЕШАЮТ ДАННОЙ ПРОБЛЕМЫ.
Я вообще немного удивлен, как до сих пор никто не думал облегчить жизнь людям.
Но, в любом случае, огромное вам спасибо! Вы как всегда на высоте!
