2014-04-17 10 views
12

Znalazłem błąd po aktualizacji Wordpressa do ostatniej wersji oprogramowania 3.9.Wordpress 3.9 - 4.1 i qTranslate wydanie

otrzymuję ten błąd:

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/

Dlaczego to miejsce?

+0

Jaki jest kod na wspomnianej linii? Jeśli nie masz szczęścia tutaj, spróbuj http://wordpress.stackexchange.com/, który może lepiej pasować do dowolnego pytania związanego z deweloperem. – DanFromGermany

+0

Dlaczego nie zgłosić błędu u autora wtyczki? Oczywistym jest, że problem dotyczy wtyczki, która nie działa z wersją 3.9. Być może czekasz na poprawkę od nich? – dotty

+0

@DanFromGermany Nie znam strony internetowej wordpress.stackexchange.com ... jednak dziękuję – Michelangelo

Odpowiedz

46

Rozwiązany!

Musisz usunąć "$before." w pliku qtranslate_core.php z ostatniej linii qtranslate działa tutaj z WP 3.9!

więc wynik musi być:

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

Będziemy zaczekać qTranslate uaktualnienia!

dziękuję

+2

W mojej wtyczce była to ostatnia linia funkcji 'qtrans_strftime'. – djjeck

+2

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

+0

Mężczyzna !!! Uratowałeś mi życie. Dzięki – Sikander

4

Chciałem dodać 2 centy po zbadaniu tego problemu osobiście. Nie lubię hackować rdzenia WP ani wtyczek. Kiedy dostałem błąd wskazany przez autora tego wątku, naprawiłem go, przechodząc do Settings -> Languages i klikając zakładkę Advanced Settings.

W sekcji Date/Time Conversion została ustawiona na pierwszą opcję Use emulated date function. Zmieniłem ją na Use strftime instead of date. i voila, nie ma więcej błędów i nie hackowanie rdzenia!

Zgłoś się, jeśli to zadziałało dla Ciebie lub jeśli masz jakiekolwiek problemy.

WordPress: v3.9.1 qTranslate: v2.5.39

+3

Niestety to nie działa dla mnie. Wypróbowałem wszystkie opcje, ale musiałem uciekać się do hakowania –

+0

Interesujące! Jeśli chodzi o naukę, w jaki sposób nazywasz datę na stronie obrazą? Mam tylko ten błąd podczas wyświetlania daty. Używam ' ' –

+0

Dzięki za świetne rozwiązanie, działa to doskonale w moim przypadku. edycja strony nie działa. –

0

Niestety wszystkie powyższe nie działa dla mnie, ale ja foundanother solution, który pomógł mi rozwiązać ten problem:

w pliku qtranslate_core. php musisz zmienić tę linię

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

do

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

i ta linia

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

do

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

dla mnie (WP 4.1.1, qTranslate 5.02.39) następuje pomógł:

  1. Od deski rozdzielczej, przejdź do Wtyczki> qTranslate> Ustawienia
  2. Kliknij link "Ustawienia zaawansowane" link
  3. W grupie ustawień "Konwersja daty/czasu" wybierz "Użyj strftime zamiast daty i zamień formaty na wstępnie zdefiniowane formaty dla każdego języka." (ustawiono na "Użyj strftime zamiast date").

Voila!