Просто до WP 4.2 таких проблем не было. Похоже, что тогда в TinyMCE эти неразрывные проблемы удалялись автоматически, а сейчас нет.
TinyMCE можно проверить отдельно: http://www.tinymce.com/tryit/basic.php
Нет, не видно. Если запись опубликовать или сохранить, то станут там видны.
Есть предположение, что пробелы добавляются не при редактировании, а при выводе.
из-за чего это может происходить?
Кажется я понял. Мне нужно как-то добавить эту строку на True в настройках TinyMCE.
remove_trailing_nbsp
В какой файл нужно это прописывать?
Разобрался, но это не помогает. Завтра попробую установить сайт тестовый с нуля и протестить на нем.
remove_trailing_nbsp
В какой файл нужно это прописывать?
В functions.php
активной темы:
function my_tinymce_settings( $settings ) {
$settings['remove_trailing_nbsp'] = true;
return $settings;
}
add_filter( 'tiny_mce_before_init', 'my_tinymce_settings' );
Sergey Biryukov, большое спасибо) Если Вы знаете, то не могли бы описать кратко назначение данной опции? На официальном сайте описание этой функции не отображается.
Просто сейчас я попробовал обновить на сайте запись с NBSP имеющимися, но безрезультатно. Завтра попробую написать какой-то текст чтобы полностью протестировать данную опцию.
Кстати да, в режиме текст не отображаются пробелы непрерывные даже после публикации записи на сайте.
Создал сайт на WP на другом хостинге и домене. Аналогичная ситуация. WP 4.3
Если поставить пробел, а затем выполнить какое-то действие кроме ввода следующего текста, то затем на этом месте появится NBSP пробел. Это все, что мне удалось заметить в качестве закономерности.
а мне вот повторить такое не удается никак.
Хм, странно все это) Попробую напечатать что-нибудь на другом компьютерее совсем
Мне бы скрипт или плагин найти, который бы удалял все nbsp из статьи с заменой на обычные пробелы во время публикации.
Можно добавить фрагмент в functions.php
активной темы:
function remove_non_breaking_spaces_from_content( $content ) {
return preg_replace( '#\xC2\xA0| #', ' ', $content );
}
add_filter( 'the_content', 'remove_non_breaking_spaces_from_content' );
Сергей, этот код каким образом будет работать? Как я описал выше, или как-то подругому?
он их удаляет уже при выводе — в базе все равно они будут.
Если нужно именно при публикации — попробуйте так:
function remove_non_breaking_spaces_from_content( $data ) {
$data['post_content'] = preg_replace( '#\xC2\xA0| #', ' ', $data['post_content'] );
return $data;
}
add_action( 'wp_insert_post_data', 'remove_non_breaking_spaces_from_content' );
Но работать будет, только если пробелы действительно добавляются в редакторе, а не при выводе.