tobias.kochs-online.net

OpenID 3.3.3 & WordPress 2.9.x

| 2 Kommentare

[lang_en]Today was WordPress maintenance Sunday for me. I sorted out all the spam Akismet hadn’t caught and updated a few of the plugins we are using with WordPress. However I hadn’t enough time to update WordPress itself to version 3.0.1. So we are still running 2.9.2. This caused some trouble when I was upgrading the OpenID plugin to its latest version 3.3.3. Accessing the WordPress admin panel I got stuck with an PHP error reading

Call to undefined function get_user_meta()

WordPress codex tells us this function get_user_meta is not available in WordPress until version 3.0. It is replacing the now deprecated function get_usermeta which is available for earlier versions of WordPress. So I came up with a little hack to get the OpenID plugin running again for my ancient 2.9.2 version of WordPress.

Simply add these lines at the top of the plugin files admin_panels.php, server.php and server_ext.php:[/lang_en]

[lang_de]Heute war bei mir Wartungssonntag für WordPress. Ich habe all die Spam-Kommentare entfernt, die Akismet nicht aussortiert hatte und ein paar der Plugins, die wir in WordPress einsetzen, aktualisiert. Leider hatte ich nicht genug Zeit, um auch die WordPress-Installation selbst auf Version 3.0.1 zu aktualisieren, weshalb hier noch immer 2.9.2 läuft. Das war auch die Ursache für ein Problem, das beim Update des OpenID-Plugins auf die Version 3.3.3 auftrat. Der Zugriff auf das WordPress Admin Panel wurde mit folgendem PHP-Fehler quittiert:

Call to undefined function get_user_meta()

WordPress Codex verrät einem dazu, dass die Funktion get_user_meta erst mit WordPress-Version 3.0 eingeführt wurde. Sie löste die veraltete Funktion get_usermeta ab, die in früheren WordPress-Versionen verfügbar war. Daher habe ich einen kleinen Hack ausgeheckt (haha!), um das OpenID-Plugin auch mit meiner antiken 2.9.2-Version von WordPress ans Laufen zu bekommen.

Dazu müssen die folgenden Zeilen oben in die Plugin-Dateien admin_panels.php, server.php und server_ext.php eingefügt werden:[/lang_de]

/**
* Hotfix for WordPress 2.x
*/
if ( !function_exists('get_user_meta') ) {
function get_user_meta($user_id, $key, $single = false) {
if ( $single == false )
return array(get_usermeta($user_id, $key));
else
return get_usermeta($user_id, $key);
}
}

[lang_en]This code defines a new function get_user_meta in case it is not existing already. The new function calls the deprecated function get_usermeta and returns the result so the plugin is working as expected again.[/lang_en]

[lang_de]Dieser Code definiert eine neue Funktion get_user_meta für den Fall, dass nicht bereits eine solche existiert. Diese neue Funktion ruft dann die veraltete Funktion get_usermeta auf und liefert das Ergebnis des Funktionsaufrufs zurück, sodass das Plugin wieder wie erwartet funktioniert.[/lang_de]

Autor: Tobias

Hallo, ich bin Tobias. Meine Leidenschaft gilt alten Autos. Je ausgefallener desto besser. Im Alltag schwöre ich auf meinen treuen '88 Volvo 745 und im Laufe der Zeit sammelten sich daneben in der Garage noch ein '79 AMC Pacer, ein '70 Chrysler 300 Hurst, ein '90 Toyota Sera und ein '94 Mazda 121 Ginza. Wenn ich gerade nicht an den Autos herumschraube, lasse ich den Nerd raushängen und schreibe hier irgendwas zu Online- und IT-Themen, Filmen oder Musik. Ihr findet mich auch .

2 Kommentare

Schreibe einen Kommentar zu Mehl Antworten abbrechen

Pflichtfelder sind mit * markiert.