WordPress Version 3.5
qTranslate Version 2.5.32

Nach dem WordPress Upgrade zur Version 3.5 erscheint die qTranslate Meldung:

Der qTranslate Editor wurde deaktiviert, da es noch nicht mit dieser WordPress Version getestet wurde. Dieser Schritt ist eine Sicherheitsvorkehrung, um die Funktionalität von WordPress sicher zu stellen. Zum Reaktivieren klicke hier (kann Datenverlust verursachen!). Um diese Nachricht zu entfernen, bitte qTranslate zur passenden Version upgraden.

Wenn man versucht qTranslate zu reaktivieren, kommt es zu einem riesen Durcheinander und der Browser stürzt ab, da der Aufruf der js Funktion qtrans_editorInit() eine Endlosschlaufe generiert.

Lösung

Der Bugfix wurde von Nikola Nikolov im qTranslate Forum zur Verfügung gestellt.

Das fertig angepasste qtranslate_javascript.php File gibts hier zum Download.

Das sind die Änderungen, die gemacht werden müssen:

1) Edit qtranslate_javascript.php

vi qtranslate_javascript.php

Suche die Line:

$q_config['js']['qtrans_xsplit'] = "
      String.prototype.xsplit = function(_regEx){

Ersetze sie mit:

$q_config['js']['qtrans_xsplit'] = "
      var usr_sett_ed = getUserSetting( 'editor' );
      if ( ! parseInt( getUserSetting( 'ed_size' ) ) || parseInt( getUserSetting( 'ed_size' ) ) < 300 ) {
         setUserSetting( 'ed_size', 300 );
      }
      setUserSetting( 'editor', 'html' );
      String.prototype.xsplit = function(_regEx){

Suche die Linie:

jQuery(document).ready(function() {
        qtrans_editorInit();
});

Ersetze sie mit:

jQuery(document).ready(function() {
        qtrans_editorInit();
        setUserSetting( 'editor', usr_sett_ed );
});

Suche die Linie:

var h = wpCookies.getHash('TinyMCE_content_size');

Ersetze sie mit:

var h = getUserSetting( 'ed_size' );

Suche die Linie:

jQuery('#qtrans_textarea_content').css('height', h.ch - 20 + 'px');

Ersetze sie mit:

jQuery('#qtrans_textarea_content').css('height', h - 20 + 'px');

So, und jetzt muss man nur noch die unterstützte Version anpassen, damit auch die Fehlermeldung verschwindet:

vi qtranslate.php

Suche die Zeile wo

QT_SUPPORTED_WP_VERSION

definiert wird (kann je nach Version auch QT_SUPPORTED_VERSION heissen)

und trage die aktuelle WordPress Version ein:

define('QT_SUPPORTED_WP_VERSION', '3.5');

Fertig 🙂

Flattr this!