Die Mitteilungen von WordPress für den Autor eines Beitrags oder zu Kommentaren sind inhaltlich nicht in jedem Fall den Anforderungen entsprechend. Auch WordPress wusste das und hat diese Funktionen so hinterlegt, dass man sie an seine Bedürfnisse anpassen oder komplett ersetzen kann. Daher möchte ich kurz zeigen, wie man die Mails an seine Bedürfnisse anpasst.
Die beiden Funktionen wp_notify_postauthor() und wp_notify_moderator() sind für das Versenden von Mitteilungen zuständig und sind bewusst von WordPress so implementiert, dass man sie ersetzen kann. Zu finden sind die beiden Funktionen in wp-includes/pluggable.php und dort sind alle Funktionen drin, die WordPress im Vorfeld abfragt (if ( !function_exists('set_current_user') )), so dass man sie leicht ersetzen kann und damit das Blog an eigene Bedürfnisse anpassen kann. Daher ist es ein einfaches die Mitteilungen von WordPress an seine Bedürfnisse anzupassen.

Um dies zu realisieren muss jeweils die Funktion als Plugin oder in der functions.php des Themes abgelegt werden. Damit sind sie verfügbar und werden von WP genutzt. Die einfachste Möglichkeit ist es, die beiden Funktionen zu kopieren und inhaltlich anzupassen, so dass sie beispielsweise weniger Infos von WordPress enthalten.
function wp_notify_postauthor($comment_id, $comment_type='') {
...
}
function wp_notify_moderator($comment_id) {
...
}
So ist es beispielsweise in leichtes nicht die URL zum Löschen des Kommentares in der Mail zu haben, sondern ein Link. Auch dazu ein kleines Beispiel. Die Standard-Zeil, wie im obigen Screenshot, ist wie folgt hinterlegt:
$notify_message .= sprintf( __('Delete it: %s'), admin_url("comment.php?action=cdc&c=$comment_id") ) . "\r\n";
Diese ersetzen wir ein wenig mit HTML und so haben wir einen Link in der Mail.
$notify_message .= sprintf( '<a href="%s">' . __('Delete it') . '</a>', get_option('siteurl') . "/wp-admin/comment.php?action=cdc&c=$comment_id" . "\r\n" );
Dies soll nur als ein Beispiel dienen und reine Text-Nachrichten sind sicher zu bevorzugen. Trotzdem gibt es immer wieder Anforderungen die Mail anzupassen; die Funktion wp_mail() ist flexibel genug und die Inhalte der Mail lassen sich durch das Ersetzen der beiden Funktionen sauber vom Core trennen und vom Update ist man unabhängig.
Vielen Dank für den super Tipp. Genau die normale Ansicht hat mich immer gestört. Dank Dir kann ich sie jetzt ändern.
@Chris: Mein Thunderbird stellt die URLs schon immer als Link dar. Aber zusätzliche Links kann man so ja schön einbauen. Danke Frank!
Jaja, so ändern sich die Ansichten. Pack die Werbung einfach mit in den Feed. Perun hat da mal ne Umfrage gemacht.
PS: Hat es was mit der Werbung im Blog zu tun, dass der Feed nicht mehr Vollständig ist?
@Tom: nein, der Feed ist fullfeed, habe gerade nochmal geschaut. Meine GReader stellt es auch so dar. Da wird es auch keine Veränderung geben, FullFeed ist mir sehr wichtig.
Hallo Frank, gibt es auch die Möglichkeit, dass man den Absender der Mail ändern könnte
(WordPress [wordpress@vorkassen.de]) ? Denn wirklich, gibt es ja die Adresse nicht. Vielen Dank im Voraus. Gruss Peter2
@peter2: ja, geht in diesen beiden Funktionen, dort wird der Absender definiert.
@Peter2: Wenn du nur den Absender ändern willst, dann via Hook, geht besser und einfacher; siehe mein Beitrag dazu: Standard E-Mail Absender von WordPress ändern
Hallo Frank, Danke für die schnelle Antwort. Gruss Peter2
@frank, genau das habe ich gesucht, da ich ja nur den Absender ändern will. Vielen Dank für die schnelle Hilfe. Gruss Peter2
Was ist eigentlich der Unterschide zwischen den Funktionen wp_notify_postauthor() und wp_notify_moderator()?
Gruß Rainer
wp_notify_postauthor()informiert einen Autor über Kommentar, Track- und Pingback zu einem seiner Beiträgewp_notify_moderator()informiert den/die Moderatoren des Blog über wartende KommentareDanke für die Antwort.