2014-04-17 10 views
12

Ich habe einen Fehler nach der Aktualisierung der Wordpress auf die letzte Version der Software 3.9 gefunden.Wordpress 3.9 - 4.1 und qTranslate Ausgabe

ich diesen Fehler:

Thu Apr 17 17:21:52 2014] [warn] mod_fcgid: stderr: PHP Catchable fatal error: Object of class WP_Post could not be converted to string in /wp-content/plugins/qtranslate/qtranslate_core.php on line 455, referer: http://www.mywebsite.com/

Warum geschieht das?

+0

Was ist der Code in der Zeile erwähnt? Wenn du hier kein Glück hast, probiere http://wordpress.stackexchange.com/, das besser für jede WordPress-Dev-Frage geeignet ist. – DanFromGermany

+0

Warum nicht einen Fehler mit dem Autor des Plugins einreichen? Es ist offensichtlich, dass das Problem darin besteht, dass das Plugin nicht mit 3.9 funktioniert. Vielleicht warten Sie auf eine Lösung von ihnen? – dotty

+0

@DanFromGermany Ich kenne die Website wordpress.stackexchange.com nicht ... aber danke – Michelangelo

Antwort

46

Gelöst !!

Sie müssen die "$before." Entfernen in qtranslate_core.php Datei aus der letzten Zeile, qtranslate arbeitet hier mit WP 3.9!

so muss das Ergebnis sein:

return strftime($format, $date).$after; 

Wir werden die qTranslate Upgrade warten!

dank

+2

Auf meinem Plugin war es die letzte Zeile der Funktion 'qtrans_strftime'. – djjeck

+2

return $ before.strftime ($ format, $ date). $ Nach; => return strftime ($ format, $ date). $ after; – Mike

+0

Mann !!! Du hast mein Leben gerettet. Danke – Sikander

4

Ich wollte ich meinen 2 Cent nach Untersuchung dieser Frage hinzuzufügen. Ich mag es nie, den Kern von WP oder den Plugins zu hacken. Als ich den Fehler bekam, der vom Autor dieses Threads angezeigt wurde, habe ich ihn behoben, indem ich in Settings -> Languages ging und auf die Registerkarte Advanced Settings klickte.

Unter dem Date/Time Conversion Abschnitt wurde es auf die erste Option gesetzt Use emulated date function. Ich änderte es zu Use strftime instead of date. und voila, kein Fehler mehr und kein Hacking der Kern!

Melden Sie sich zurück, wenn dies für Sie funktioniert hat oder Probleme aufgetreten sind.

Wordpress: v3.9.1 qTranslate: v2.5.39

+3

Leider hat das bei mir nicht funktioniert. Ich habe alle Möglichkeiten ausprobiert, musste aber auf den Hack zurückgreifen –

+0

Interessant! Für die Wissenschaft, wie rufen Sie das Datum auf der beleidigenden Seite an? Ich habe diesen Fehler nur bei der Anzeige des Datums. Ich benutze '

+0

Danke für die großartige Lösung, das funktioniert hervorragend in meinem Fall. Seitenbearbeitung funktionierte nicht. –

0

Leider sind alle oben nicht für mich arbeiten, aber ich foundanother solution, die mir das Problem zu lösen half:

in Datei qtranslate_core. php Sie diese Zeile

function qtrans_dateFromPostForCurrentLanguage($old_date, $format ='', $before = '', $after = '') { 

zu

ändern müssen
function qtrans_dateFromPostForCurrentLanguage($old_date, $format ='') { 

und diese Linie

return qtrans_strftime(qtrans_convertDateFormat($format), mysql2date('U',$post->post_date), $old_date, $before, $after); 

zu

return qtrans_strftime(qtrans_convertDateFormat($format), mysql2date('U',$post->post_date), $old_date); 
1

Für mich (WP 4.1.1, qTranslate 2.5.39) die geholfen folgende:

  1. Vom Armaturenbrett, gehe zu Plugins> qTranslate> Einstellungen
  2. Klicke auf den Link "Erweiterte Einstellungen"
  3. Wählen Sie in der Gruppe "Datum/Uhrzeit-Konvertierung" die Option "Verwenden Sie strftime statt date und ersetzen Sie Formate durch die vordefinierten Formate für jede Sprache." (wurde auf "Use strftime statt date" eingestellt).

Voila!

Verwandte Themen