Alertă Email când orice Articol sau Pagină este Modificată
Există vreo modalitate prin care WordPress să-mi trimită un email de fiecare dată când o Pagină sau un Articol este Publicat?

Există câteva plugin-uri care gestionează notificările prin email, dar toate par să funcționeze ca un serviciu de abonare pentru (toți) utilizatorii WordPress.
Pentru a te notifica doar pe tine atunci când un articol sau o pagină este publicată:
/**
* Trimite o notificare prin email administratorului atunci când un articol este publicat.
*
* @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;
// Destinatar, în acest caz email-ul administratorului
$emailto = get_option( 'admin_email' );
// Subiectul email-ului, "New {post_type_label}"
$subject = 'Nou ' . $post_type->labels->singular_name;
// Conținutul email-ului
$message = 'Vizualizează-l: ' . get_permalink( $post->ID ) . "\nEditează-l: " . get_edit_post_link( $post->ID );
wp_mail( $emailto, $subject, $message );
}
add_action( 'transition_post_status', 'wpse_19040_notify_admin_on_publish', 10, 3 );
Poți să adaugi acest cod în functions.php
al temei tale, sau să îl salvezi ca un plugin (ceea ce ar putea fi mai potrivit, deoarece nu este exact legat de 'temă').

sha -- răspunde la întrebare contribuind cu informația că soluția postată nu funcționează în toate cazurile.
După 24 de ore, pot actualiza cunoștințele pe care le-am contribuit. Soluția de la această locație (Notify admin when page is edited?) funcționează pe serverul unde soluția postată mai sus nu funcționează. Pentru a cita din firul de discuție cu soluția care funcționează mai bine în cele două contexte pe care le-am încercat:
Scriptul original de pe wpcodex funcționează bine:
add_action( 'save_post', 'my_project_updated_send_email' );
function my_project_updated_send_email( $post_id ) {
//verifică dacă postarea nu este o revizie
if ( !wp_is_post_revision( $post_id ) ) {
$post_title = get_the_title( $post_id );
$post_url = get_permalink( $post_id );
$subject = 'O postare a fost actualizată';
$message = "O postare a fost actualizată pe site-ul tău:\n\n";
$message .= "<a href='". $post_url. "'>" .$post_title. "</a>\n\n";
//trimite email către administrator
wp_mail( get_option( 'admin_email' ), $subject, $message );
}
}

Desigur, va trebui să utilizați cârligul sau cârligele adecvate pentru Tranziția Stării Postării și funcția wp_mail()
.

Există un plugin foarte flexibil numit "Post Status Notifier" disponibil în directorul de plugin-uri WordPress.
Poți defini propriile reguli, când o notificare ar trebui să fie trimisă. Poți alege destinatarul, Cc, Bcc, starea înainte și după. Și poți personaliza complet textul mesajului și subiectul (cu substituenți).
Funcționează perfect pentru mine!

Dacă nu doriți să modificați fișierul de funcții al temei, atunci puteți utiliza un plugin precum acesta. Acesta trimite notificări administratorului atunci când un contributor trimite un articol pentru revizuire și o notificare prin email contributorului atunci când articolul este publicat.
https://wordpress.org/plugins/wpsite-post-status-notifications/

Răspunsurile ar trebui să fie mai mult decât simple link-uri. Ar trebui să fie un răspuns real în loc de o rută unde cineva poate găsi un răspuns. Te rog ajută la prevenirea link-urilor moarte, [editează] răspunsul tău și oferă informațiile necesare care îi ajută pe OP precum și pe vizitatorii ulteriori să rezolve problema lor.
