Kilka dni temu zgłosił się do nas jeden z klientów z dość dziwnym problemem. Okazało się, że podczas zapisywania edytowanych wpisów traci część formatowania. Co ciekawe kilka dni później podobny problem pojawił się na forum Fani WordPressa (GoldenLine).
Sprawa dotyczyła w zasadzie jedynie: zakończenia paragrafów <p> oraz pustych linii <br />.
Po krótkim badaniu okazało się, że za problemy odpowiada popularna wtyczka qTranslate (służąca do wprowadzania wielojęzyczności w serwisach opartych na WordPressie).
Istnieje jednak dość proste rozwiązanie, które odnalazłem na forum użytkowników qTranslate.
Należy wyedytować plik qtranslate_wphacks.php znajdujący się w katalogu głównym wtyczki qTranslate.
W pliku tym odnajdujemy fragment rozpoczynający się komentarzem: // do some crazy js to alter the admin view” (linia nr 89)
i kończący się komentarzem // insert language, visual and html buttons” (linia nr 106).
Powinien wyglądać on jak poniżej:
// do some crazy js to alter the admin view
$content .="\n// <![CDATA[\n";
$content .="function qtrans_editorInit1() {\n";
// include needed js functions
$content .= $q_config['js']['qtrans_is_array'];
$content .= $q_config['js']['qtrans_xsplit'];
$content .= $q_config['js']['qtrans_split'];
$content .= $q_config['js']['qtrans_integrate'];
$content .= $q_config['js']['qtrans_use'];
$content .= $q_config['js']['qtrans_switch'];
$content .= $q_config['js']['qtrans_assign'];
$content .= $q_config['js']['qtrans_save'];
$content .= $q_config['js']['qtrans_integrate_title'];
$content .= $q_config['js']['qtrans_get_active_language'];
$content .= $q_config['js']['qtrans_hook_on_tinyMCE'];
// insert language, visual and html buttons
Tutaj musimy trochę pomieszać, aby w efekcie otrzymać następujący wynik:
// do some crazy js to alter the admin view
$content .="\n// <![CDATA[\n";
// Deklarujemy funkcje globalne uzywane w roznych miejscach
$content .= $q_config['js']['qtrans_xsplit'];
$content .= $q_config['js']['qtrans_is_array'];
$content .= $q_config['js']['qtrans_split'];
$content .= $q_config['js']['qtrans_integrate'];
// Dodajemy prywatne funkcje, ktore wczesnie byly na poczatku
$content .="function qtrans_editorInit1() {\n";
// include needed js functions
$content .= $q_config['js']['qtrans_use'];
$content .= $q_config['js']['qtrans_switch'];
$content .= $q_config['js']['qtrans_assign'];
$content .= $q_config['js']['qtrans_save'];
$content .= $q_config['js']['qtrans_integrate_title'];
$content .= $q_config['js']['qtrans_get_active_language'];
$content .= $q_config['js']['qtrans_hook_on_tinyMCE'];
// insert language, visual and html buttons
Potem oczywiście nadpisujemy oryginalny plik i wszystko powinno być już OK!
Czy też spotkaliście się z podobnym problemem? A może znacie inne rozwiązanie?
Comments