Niełamliwe spacje wstawiane przez edytor wizualny WordPress’a

Czasami podczas edycji treści zaobserwować można dziwne ustawianie wierszy – niektóre słowa jakby na siłę są przenoszone do kolejnych wierszy. Winne za to są niełamliwe spacje.

Problem z niełamliwymi spacjami, które wstawia edytor TinyMCE jest dość tajemniczy. Nie każda osoba go doświadcza. W anglojęzycznej społeczności WordPress’a znalazłem wyjaśnienia, że za problem odpowiada przeglądarka Chrome, a nie edytor wizualny.

Rozwiązanie problemu twardych spacji

Są różne rozwiązania, które nie zawsze działają i bywają całkiem pokraczne. Poniżej przedstawiam to, które sprawdziłem i jestem z niego zadowolony.

W rozwiązaniu tym zbędne niełamliwe spacje są usuwane w momencie zapisywania treści w bazie danych. To zapewnia, że obojętnie ile tych niechcianych znaków wytworzymy w trakcie edycji wpisu do bazy danych trafi wyczyszczony tekst.

W celu wdrożenia tej łatki wystarczy do pliku functions.php naszego motywu dodać mały kod:

function magic_remove_nbsps($content) {
$content = str_replace(array("\xc2\xa0", " "), " ", $content);
return $content;
}
add_filter('content_save_pre', 'magic_remove_nbsps');

Jest jedna wada tego rozwiązania – działa tylko dla nowych wpisów, a jeśli chcemy usunąć niełamliwe spacje z już istniejących wpisów należy wejść do każdego i kliknąć „zaktualizuj”. Nie musimy nic edytować, wystarczy, aby wpis został ponownie zapisany w bazie danych.

A zdjęcie co ma wnieść do tego wpisu?
Ten gołąb wyglądał na mądrego doradcę, pewnie dzielił się ze swoimi pobratymcami wiedzą. A co, normalnie poczułem się jak taki dostojny jegomość, który dzieli się z innymi swoją mądrością! Eeee, jak on w Smerfach się nazywał? Mądrala?   ;-)

10 grudnia 2018, Tomasz Bartosiewicz,

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *