Antworten:
Es gibt einige Plugins, die E-Mail-Benachrichtigungen verarbeiten , aber alle scheinen sich wie ein Abonnementdienst für (alle) WordPress-Benutzer zu verhalten.
So benachrichtigen Sie nur Sie, wenn ein Beitrag oder eine Seite veröffentlicht wird:
/**
* Send an email notification to the administrator when a post is published.
*
* @param string $new_status
* @param string $old_status
* @param object $post
*/
function wpse_19040_notify_admin_on_publish( $new_status, $old_status, $post ) {
if ( $new_status !== 'publish' || $old_status === 'publish' )
return;
if ( ! $post_type = get_post_type_object( $post->post_type ) )
return;
// Recipient, in this case the administrator email
$emailto = get_option( 'admin_email' );
// Email subject, "New {post_type_label}"
$subject = 'New ' . $post_type->labels->singular_name;
// Email body
$message = 'View it: ' . get_permalink( $post->ID ) . "\nEdit it: " . get_edit_post_link( $post->ID );
wp_mail( $emailto, $subject, $message );
}
add_action( 'transition_post_status', 'wpse_19040_notify_admin_on_publish', 10, 3 );
Sie können dies entweder in Ihrem Thema ablegen functions.php
oder als Plugin speichern (was möglicherweise besser geeignet ist, da es nicht genau mit dem Thema zusammenhängt).
sha - es beantwortet die Frage, indem es das Wissen einbringt, dass die veröffentlichte Lösung nicht in allen Fällen funktioniert.
Nach 24 Stunden kann ich das von mir eingebrachte Wissen aktualisieren. Die Lösung an diesem Speicherort ( Administrator benachrichtigen, wenn die Seite bearbeitet wird? ) Funktioniert auf dem Server, auf dem die oben angegebene Lösung nicht funktioniert. Um aus dem Thread mit der Lösung zu zitieren, die in den beiden Kontexten besser funktioniert, habe ich versucht:
Das ursprüngliche Skript aus dem wpcodex funktioniert einwandfrei:
add_action( 'save_post', 'my_project_updated_send_email' );
function my_project_updated_send_email( $post_id ) {
//verify post is not a revision
if ( !wp_is_post_revision( $post_id ) ) {
$post_title = get_the_title( $post_id );
$post_url = get_permalink( $post_id );
$subject = 'A post has been updated';
$message = "A post has been updated on your website:\n\n";
$message .= "<a href='". $post_url. "'>" .$post_title. "</a>\n\n";
//send email to admin
wp_mail( get_option( 'admin_email' ), $subject, $message );
}
}
Sicher, Sie müssen geeignete Post Status Transition Hooks oder Hooks und verwenden wp_mail()
.
Es gibt ein sehr flexibles Plugin namens " Post Status Notifier " im WordPress-Plugin-Verzeichnis.
Sie können eigene Regeln definieren, wann eine Benachrichtigung gesendet werden soll. Sie können den Empfänger Cc, Bcc vor und nach dem Status auswählen. Und Sie können den Text und den Betreff (mit Platzhaltern) vollständig anpassen.
Funktioniert perfekt für mich!
Wenn Sie die Fucntions-Datei Ihres Themas nicht hacken möchten, verwenden Sie ein Plugin wie dieses. Es sendet Benachrichtigungen an den Administrator, wenn der Mitwirkende einen Beitrag zur Überprüfung einreicht, und eine E-Mail-Benachrichtigung an den Mitwirkenden, wenn der Beitrag veröffentlicht wird.
https://wordpress.org/plugins/wpsite-post-status-notifications/