Zum Inhalt springen

Login-Benach­richti­gung für WordPress

Wordpress Login Notification

Manchmal ist es ganz nützlich, zu erfahren, ob – bzw. wann – sich ein User ins Backend einer WordPress-Installation eingeloggt hat. Ich habe hierzu eine kleine Funktion geschrieben, dir mir nach der erfolgreichen Anmeldung eine Mail schickt.

Hier mein Code snippet für die Login-Benachrichtigung – zu platzieren in der functions.php des Themes:

function loginpetze($user) {
    setlocale(LC_TIME, "de_DE.utf8");
    date_default_timezone_set('Europe/Berlin');
    $datum = date("Y-m-d H:i (T)", time());
    $blog_title = get_bloginfo($show='url');
    $message = "Login-Benachrichtigung\n\n";
    $message.= "User: ".$user."\n";
    $message.= "Zeit: $datum\n";
    $message.= "Blog: $blog_title";
    mail("you@domainname.de","User-Login: $user / $blog_title",$message);
}
add_action('wp_login', 'loginpetze', 10, 1);

Sometimes it is useful to know if – or when – a user successfully logged in to your WordPress backend. The code snippet above generates a notification mail for this incident. Just add it to your theme’s functions.php.

Schlagwörter:

6 Gedanken zu „Login-Benach­richti­gung für WordPress“

  1. Wirklich ein sehr nützlicher Codeschnipsel. Ich hätte aber eher die Funktion wp_mail verwendet. Und anstelle der Zeile 2-4 könntest du auch die interne Funktion current_time() verwenden: date( 'Y-m-d H:i (T)', current_time( 'timestamp', 0 ) );. Diese gibt dann die Zeit der Installation zurück.

    Aber alles in allem eine wirklich clevere Funktion :)

    1. Danke für Deinen Input :-)

      Ich möchte es nicht in Frage stellen, sondern einfach nur lernen: welche Vorteile hat denn die Funktion wp_mail gegenüber meiner Variante?

      1. Die Funktion wp_mail verwendet die PHP-Bibliothek PHPMailer, die unter anderem auch Anhänge unterstützt. Das wichtigste Argument sind aber Server, bei denen es notwendig ist, eine Mail über das SMTP-Protokoll über einen externen Server zu verschicken. Das ist vor allem dann notwendig, wenn ein beliebiger Webserver es nicht durch den Spamfilter des Empfängers schafft. Dann kann mit einem Plugin wie z.B. WP SMTP Mail der Versand ermöglicht werden. Solche Plugins haben aber natürlich nur Einfluss auf die Funktion wp_mail und nicht auf die native mail Funktion von PHP.

    1. Hallo Jochen,
      durch die Verwendung des entsprechenden Hooks wp_login führt WordPress die Aktion an der richtigen Stelle aus. Dabei spielt es keine Rolle, wo in der functions.php dieser Filter steht.

Schreibe einen Kommentar

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