Intereting Posts
Тема одиночной страницы Хранение данных в многомерном массиве из динамически созданного цикла foreach Поиск пользователя с помощью WP_User_Query Создание HTTPS-адресов в многопользовательском режиме Один из них переписывается для одного пост-типа slug (покажите обычную страницу с тем же URL-адресом) Добавление первого и последнего класса в меню только на верхнем уровне Редактировать HTML-панель навигации WordPress Тема для подкатегорий Существует ли WP способ получения дескриптора файла? неприкрепленные файлы мультимедиа, которые должны быть прикреплены Как перенаправить пользователей после отправки темы для модерации? Есть ли способ подключиться к странице обновления ядра для пользовательских сообщений? Какая разница, если я включу поддержку формата видеопоста? Добавление поля только к одной странице Изменить порядок меню основного пост-типа в пользовательском интерфейсе?

Уведомлять администратора при редактировании страницы?

Я нашел этот предыдущий пост, чтобы автоматически уведомлять администратора, когда публикуется сообщение или страница: Alert Email при изменении любой почты или страницы

Работает как шарм, спасибо! Однако похоже, что страница должна быть изменена с черновика или в ожидании публикации, чтобы вызвать действие. Есть ли модификация для уведомления администратора при обновлении уже опубликованной страницы?

благодаря!

Вы правы. Многие из плагинов уведомлений требуют изменения состояния и на самом деле не отслеживают, есть ли новая редакция для публикации или страницы.

Недавно WPMU сделал длинную историю о плагинах, которые будут отслеживать активность, и вы можете найти ее полезной, поскольку она идентифицирует несколько плагинов …

http://wpmu.org/wordpress-activity-log/

Вы можете зарегистрировать функцию TheDeadMedic для save_post действия save_post , которое запускается каждый раз, когда сообщение сохраняется, независимо от того, изменился ли статус.

 add_action( 'save_post', '__notify_admin_on_publish', 10, 3 ); 

Затем прокомментируйте эти строки в своей функции:

 //if ( $new_status != 'publish' || $old_status == 'publish' ) //return; 

Чтобы предотвратить получение электронной почты для автосохранения, добавьте этот код в начало функции:

 global $post; if( ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) || $post->post_status == 'auto-draft' ) return; 

Вот полностью объединенный код:

 <?php function __notify_admin_on_publish( $new_status, $old_status, $post ) { global $post; if( ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) || $post->post_status == 'auto-draft' ) return; $message = 'View it: ' . get_permalink( $post->ID ) . "\nEdit it: " . get_edit_post_link( $post->ID ); if ( $post_type = get_post_type_object( $post->post_type ) ) wp_mail( get_option( 'admin_email' ), 'New ' . $post_type->labels->singular_name, $message ); } add_action( 'save_post', '__notify_admin_on_publish', 10, 3 ); 

@ Ответ IanDunn должен работать, но я его не тестировал. Однако структура для save_post вызовов save_post отличается от transition_post_status . Страница WordPress codex save_post имеет свой собственный код для сохранения уведомлений:

 <?php function my_project_updated_send_email( $post_id ) { // If this is just a revision, don't send the email. if ( wp_is_post_revision( $post_id ) ) { return; } $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 .= $post_title . ": " . $post_url; // Send email to admin. wp_mail( 'admin@example.com', $subject, $message ); } add_action( 'save_post', 'my_project_updated_send_email' );