WordPress läuft seit ein paar Tagen in der Version 3.5. Viele bekommen seit der Aktualisierung im Frontend eine Warnung angezeigt. Es handelt sich um folgende:
Warning: Missing argument 2 for wpdb::prepare(), called in.....
Es handelt sich um eine Sicherheitsvorkehrung, die von den WordPress Entwicklern integriert wurde, um vor sog. SQL-Injections zu schützen.
Was könnt ihr tun?
Falls ihr von dieser Meldung betroffen seid, aktualisiert erstmal eure Plugins. Falls es damit noch nicht behoben ist, schaut nach welches Plugin die Fehlermeldung verursacht und kontaktiert den Pluginersteller. Dieser muss im Code einige Stellen ändern und sein Plugin aktualisieren.
Falls der Pluginersteller nicht mehr erreichbar ist, gibt es Abhilfe offiziell auch hier.
Im Grunde ist es nicht schwierig. Sucht in der Fehlermeldung nach der Datei und der Zeile, in der der Code ergänzt werden soll.
Beispiel:
Warning: Missing argument 2 for wpdb::prepare(), called in /homepages/23/d407029611/htdocs/beispiel/wp-content/plugins/beispiel/beispiel.php on line 120 and defined in /homepages/23/d407029611/htdocs/beispiel/wp-includes/wp-db.php on line 990
Nun müsstet ihr in der Datei beispiel/wp-content/plugins/beispiel/beispiel.php in die Zeile 120 springen und dort Code ergänzen.
Was muss ergänzt werden?
Beispiel:
$widgetized_pages = $wpdb->get_col($wpdb->prepare("SELECT DISTINCT meta_value FROM $wpdb->postmeta WHERE meta_key = 'reedwan_page_sidebar'"));
ersetzen mit:
$widgetized_pages = $wpdb->get_col($wpdb->prepare("SELECT DISTINCT meta_value FROM $wpdb->postmeta WHERE meta_key = 'reedwan_page_sidebar'", null));
Das letzte Wort, also in unserem Fall „null“ ist ein Wert, den WordPress ab Version 3.5 zusätzlich benötigt. Danach sollte die Warnung verschwinden.
Smalltalk-Ecke
Hat Dir der Artikel gefallen oder möchtest Du am Inhalt etwas ergänzen? Hast Du weitere Fragen dazu? Lass uns gerne dazu austauschen. Ich freue mich von Dir zu hören! :)