Сповіщення електронною поштою про зміну будь-якої публікації чи сторінки


11

Чи є спосіб надіслати мені Wordpress електронною поштою щоразу, коли публікується сторінка чи публікація?

Відповіді:


19

Існує кілька плагінів, які обробляють сповіщення електронною поштою , але вони, схоже, діють як послуга підписки для (усіх) користувачів WordPress.

Щоб повідомити лише вас про публікацію публікації чи сторінки:

/**
 * 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 );

Ви можете залишити це у темі functions.phpабо зберегти його як плагін (що може бути більш доречним, оскільки це не зовсім пов'язано з "темою").


3

sha - він відповідає на питання, надаючи знання про те, що розміщене рішення працює не у всіх випадках.

Через 24 години я можу оновити отримані мені знання. Рішення в цьому місці ( Повідомляти адміністратора, коли редагується сторінка? ) Працює на сервері, де рішення, розміщене вище, не має. Цитувати з теми низку рішення, яке краще працює в двох контекстах, я спробував:

Оригінальний сценарій із wpcodex працює чудово:

 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 ); 
   } 
} 


-1

У каталозі плагінів WordPress доступний дуже гнучкий плагін під назвою " Повідомлення про статус повідомлення ".

Ви можете визначити власні правила, коли повідомлення повинно надсилатися. Ви можете вибрати одержувача, Копію, Копію, до та після статусу. І ви можете повністю налаштувати текст і предмет (із заповненнями).

Для мене прекрасно працює!


Плагін-рекомендації поза темою. І рекомендувати плагін без показу відповідних рядків, що вирішують питання, вважається низькою якістю. Якщо плагін зник, відповідь не вартий, і сайт зазнає гнилі посилань.
кайзер

-1

Якщо ви не хочете зламати файл fucntions теми, використовуйте плагін, такий як цей. Він надсилає повідомлення адміністратору, коли дописувач надсилає публікацію на рецензію, та повідомлення електронною поштою учаснику, коли публікація публікується.

https://wordpress.org/plugins/wpsite-post-status-notifications/


2
Відповіді повинні бути більше, ніж прості посилання . Насправді вони повинні бути відповіддю замість маршруту, де хтось, можливо, знайде відповідь. Будь ласка, допоможіть запобігти гниттю посилань, відредагуйте свою відповідь та надайте необхідну інформацію, яка допоможе ОП, а також пізнішим відвідувачам вирішити свою проблему.
кайзер

Думаю, ти трохи це помилився. Ви ніколи не будете "зламати" файл функцій. Це там, щоб внести зміни та застосувати гачки.
Майк
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.