Intereting Posts

Удалите двойное пространство после периода

Я запускаю многопользовательскую платформу с более чем 1000 писателями. Большинство пользователей записывают свой контент извне (Microsoft Word, OpenOffice и т. Д.) И вставляют его в Visual Editor. Примерно 20% статей имеют двойной пробел после каждого отдельного периода.

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

Есть ли способ удалить все двойные пробелы и преобразовать их в одно пространство на странице сообщений ? Возможно, при нажатии на публикацию. Было бы идеально, если бы это произошло на странице бэкэнд-страницы, а не в интерфейсе (через некоторое исправление стиля), хотя я открыт для идей.

В личной заметке я нахожу весьма удивительным, что эта функция не является частью основных функций WordPress, так как по меньшей мере 20% моих авторов испытывают это.

Я не могу предложить решение для JavaScript, потому что я не уверен, где именно это происходит.

Но … мы можем подключиться к wp_insert_post_data и решить эту проблему в PHP:

 add_filter( 'wp_insert_post_data', 't5_strip_double_spaces', 20 ); function t5_strip_double_spaces( $data ) { $data['post_content'] = preg_replace( "~( \x{C2}\x{A0}|\x{C2}\x{A0} )~m", ' ', $data['post_content'] ); return $data; } 

Как плагин на GitHub .

Добавьте это в свой файл functions.php

 <?php function my_the_content_filter ($content) { str_replace('. ', '. ', $content); return $content; } add_filter('the_content, 'my_the_content_filter'); 

Это должно сделать трюк. Надеюсь, поможет!

Страница Codex для справки