WordPress: PHP Warning: Missing argument 2 for wpdb::prepare()

Nach dem Update auf WordPress 3.5 begrüßte mich heute diese Meldung in meinem Adminbereich:

Warning: Missing argument 2 for wpdb::prepare(), called in /home/8023XXXXXX/public_html/SITE/wp-content/themes/PFAD-ZUR-FEHLERHAFTEN-FUNKTION.php on line 113 and defined in /home/8023XXXXXX/public_html/SITE/wp-includes/wp-db.php on line 990

Nach kurzem googeln war war klar, dass in diesem Fall das Plugin „Folding Category List“ der Verursacher war, es kann aber generell in vielen anderen Plugins auch vorkommen…

Das Problem ist, dass das Plugin bereits relativ veraltet ist und eine WordPress php-Funktion ( Methode um genau zu sein 🙂 ) nicht mehr korrekt nutzt. Auf ein Update des Autors ist leider nicht zu hoffen, da das Plugin nicht mehr entwickelt werden zu scheint.

Beheben kann man es in dem man jede Funktion „wpdb::prepare()“ wie folgt abändert:
( Beispiel kann leicht abweichen)

1
$wpdb->prepare($querystr)

Neue Nutzung:

1
$wpdb->prepare($querystr,null)

Der zweite Parameter ( „,null“) ist nun wohl Zwingend erforderlich…

Vorsicht

Die Funktion ist um Usereingaben gegen SQL injection abzusichern, d.h. bei einigen Plugins sollte man das eher nach diesen Infos anpassen:
http://make.wordpress.org/core/2012/12/12/php-warning-missing-argument-2-for-wpdb-prepare/
( Das würde ich zum Beispiel bei „Register Plus Redux“, welches auch nicht mehr up-to-date ist empfehlen )

Schlagwörter: ,

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert