Archive for the ‘plugin’ tag
WP: Email-Absender
Ich habe heute angefangen die Kundendatenbank des IRD an WordPress anzukoppeln damit sich unsere Kunden direkt auf unserer Webseite anmelden können und sich nicht extra über WordPress registrieren müssen. Beim Testen der Funktionen hat mich der Absender der Passwort-Erinnerungs-Mails extrem gestört. WordPress benutzt hier standardmäßig den Namen “WordPress” und die Email-Adresse “wordpress@domain.tld” (wobei domain.tld natürlich durch die Domain ersetzt wird auf der WordPress läuft).
Zum Glück muss man bei WordPress mit solchen Schönheitsfehlern nicht leben – ein kleines MiniPlugin genügt um seine eigene Email-Adresse und den Absendernamen festzulegen. Hier erstmal der Code:
<?php
/*
Plugin Name: myemail
Plugin URI: http://blog.kips-world.de
Description: Some wordpress hacks for my website
Version: 1.0
Author: Dennis Saenger
Author URI: http://blog.kips-world.de
*/
function kip_from_mail($f) {
$admin = get_userdata(1);
return $admin->user_email;
}
function kip_from_name($f) {
$admin = get_userdata(1);
return $admin->display_name;
}
add_filter('wp_mail_from', 'kip_from_mail', 0, 1);
add_filter('wp_mail_from_name', 'kip_from_name', 0, 1);
?>
Um den Absendernamen und die Emailadresse zu ändern benutze ich hier je einen WordPress-Filter. Immer wenn WordPress eine Email verschicken will, werden diese beiden Filter automatisch aufgerufen. Als Parameter übergibt WordPress die Default-Werte an die Funktionen. Bei kip_from_mail() übergibt WordPress “wordpress -ät- blog.kips-world.de”, bei kip_from_name() wird “WordPress” übergeben. Man könnte diese Werte jetzt modifizieren und zurückgeben, aber ich habe mich dafür entschieden einfach den Nickname und die Emailadresse des Admin als Absender zu nutzen. Ich ignoriere die Variablen ($f) in beiden Funktionen also einfach und hole mir mit der Funktion get_userdata() einfach die Werte des admin Users (der admin hat die User-ID 1).
Um das ganze selbst auszuprobieren erstellst du in deinem WordPress-Pluginordner einfach eine Datei “myemail.php” und kopierst den obigen PHP-Code dort hinein. Im Admin-Bereich von WordPress wird es dann ein neues Plugin “myemail” geben. Dieses noch schnell aktivieren und schon sendet WordPress Emails mit einem schönen Absender!
Wer jetzt Lust bekommen hat selbst kleine Modifikationen an WordPress vorzunehmen findet im WordPress-Codex alles was er wissen muss. In der Plugin-API gibt es eine Einführung zu Filtern und Actions (die beiden Plugin-Schnittstellen von WordPress). In der Function Reference werden alle WordPress-Funktionen inklusive Beschreibung aufgelistet. Und auf der Homepage von Adam findet man eine komplette Liste mit allen Filtern und Actions (sehr wichtig!).

