Heute bemerkte ich bei WordPress eine Fehlermeldung in der Mediathek. Da ich keine Fehlermeldungen im Blog toleriere musste die Fehlermeldung weg und da fing der „Spaß“ an. Wie ich herausgefunden habe lag das Problem wohl an dem automatischen Update von WordPress 3.1.2 auf WordPress 3.1.3 ! Da es für WordPress immer eine Lösung gibt gab es auch für diese Fehlermeldung eine Lösung.
So etwa sieht die Fehlermeldung aus:
Warning: explode() expects parameter 2 to be string, array given in /usr/www/users/wordpress/wp-includes/query.php on line 2390
Warning: in_array() expects parameter 2 to be array, null given in /usr/www/users/wordpress/wp-includes/query.php on line 2399
Fündig bin ich bei wordpress-studio.de geworden. Es müssen einfach 3 Zeilen geändert werden in der query.php dann funktioniert WordPress 3.1.3 wieder ohne Fehlermeldung in der Mediathek. Dazu musst du in dem Ordner wp-includes/ die query.php öffnen und in Zeile 2388 folgendes bearbeiten bzw. editieren.
Einfach in Zeile 2388 das suchen:
if ( isset($q[‚post_status‘]) && $q[‚post_status‘] != '' ) {
$statuswheres = array();
$q_status = explode(‚,‘, $q[‚post_status‘]);
und durch das ersetzen:
if ( ! empty( $q[‚post_status‘] ) ) {
$statuswheres = array();
$q_status = $q[‚post_status‘];
if ( ! is_array( $q_status ) )
$q_status = explode(‚,‘, $q_status);
Wer sich die Arbeit nicht machen möchte kann sich die fertige query.php ohne Fehler hier runterladen: query. Dann sollte der Fehler in der Mediathek von WordPress behoben sein.
Ich hatte das selbe Problem und habe das mit der Umstellung der PHP-Version auf 5.2.17 beheben können.
Möglich das es das Problem löst, mehr kann ich dazu nicht sagen habe bei mir PHP 5.3.6 installiert und da kommt der Fehler. Aber mit obiger Anleitung ist er weg!
Ich entwickle gerade ein eigenes Theme und hab dazu ein neues WordPress aufgespielt. Der Fehler tauchte bei mir auch auf. Vielen Dank für diese Korrektur des Quellcodes.
Wird diese denn beim nächsten WP-Update dann auch aktualisiert, bzw. der Fehler behoben?
Achso, kleine Ergänzung noch, den „Quellcode“ den du oben auf der Seite stehen hast, in der letzten Zeile mit dem explode da hast du Akzent-Zeichen stehen, da müssen aber Apostrophe hin. Wenn man den Code via Copy & Paste einfügt in die Query.php dann scheint es erstmal zu gehen, aber ich hab dann versucht, ein Bild zu löschen in der Media Library. Dann gab’s erneut eine Fehlermeldung. Ich hab dann gemerkt, dass das gar keine echte Apostrophe waren, und das mal geändert. Jetzt klappt’s auch mit dem Löschen.
Vielleicht magst du das oben noch ändern dann.
Der Quelltext war von mit ' geschrieben worden, nur angezeigt wurde es nicht. Ich habe die ' in Unicode eingetragen und schon wird es richtig angezeigt. Danke dir für die Info.
Ich habe gelesen das das Problem in der WordPress Version 3.1.4 bzw. 3.2 behoben sein soll.
Vielen Dank für die Lösung. Ich hab ewig in WordPress nach Fehlern gesucht.. Ich hatte auch auf PHP 5.3.6 umgestellt. Mit php 5.2.17 war mir der Fehler in der Mediathek nicht aufgefallen.
Ich hatte das selbe Problem und habe das mit deinem script schnell beheben können. Danke noch mal. Gruß Jürgen Weiß
Du solltest aber seit gestern Updaten auf WordPress 3.2 da ist das Problem behoben worden.