Столкнулся с такой незадачей в визуальном редакторе WordPress. Ставлю в html редакторе перенос строки <br/> перехожу в визуальный редактор WordPress – перенос строки пропадает. Тоже самое с параграфом <p>, пропадает параграф в редакторе WordPress да и всё. В итоге редактор не может перенести строку в статье. Кипятится и нервничает.
Очевидно что редактор удаляет эти html теги – <br/> и <p>. У меня стоит TinyMCE Advanced. Идем в настройки этого плагина и ставим галку в пункте на картинке.
Теперь перенос строки в WordPress хоть и не пропадает, но обычный <br/> теперь заменяется на <br class=’spacer_’ /> . Оно вроде и нормально и валидно, но на хрен не надо. Хочу убрать. Очевидно это замену делает TinyMCE Advanced. Делаю поиск в исходниках по фразе <br class=’spacer_’/> и нахожу его в файлике \wp-content\plugins\tinymce-advanced\js\tadv_replace.js в строке 54. Исправляю <br class=’spacer_’/> на обычный <br />. То что надо.
Его можно отредактировать и из админки WordPress ( Плагины – Редактировать – выбираем tadv_replace.js ) находим строчку, редактируем и сохраняем.
15 ноября 2010 |
Раздел: Программирование |
Метки: wordpress
Реально спс за это!
Есть более крутое решение. Включите код в functions.php и забудьте про геморрой:
function change_mce_options($initArray) {
$initArray[‘verify_html’] = false;
$initArray[‘cleanup_on_startup’] = false;
$initArray[‘cleanup’] = false;
$initArray[‘forced_root_block’] = false;
$initArray[‘validate_children’] = false;
$initArray[‘remove_redundant_brs’] = false;
$initArray[‘remove_linebreaks’] = false;
$initArray[‘force_p_newlines’] = false;
$initArray[‘force_br_newlines’] = false;
$initArray[‘fix_table_elements’] = false;
$initArray[‘entities’] = ‘160,nbsp,38,amp,60,lt,62,gt';
return $initArray;
}
add_filter(‘tiny_mce_before_init’, ‘change_mce_options’);
Спасибо за замечательную статью, мне помогло.
Спасибо большое, очень полезная статья