Intereting Posts
Как добавить ссылку на налоговый термин на странице редактирования администратора? Получить каталог плагина из темы Как добавить кнопку «Вставить / Изменить ссылку» в пользовательском всплывающем окне tinymce? Как сделать комментарий и комментарий подсчетом без привязки к привязке dashboard_glance_items Я хотел бы использовать функцию create в моем настраиваемом плагине, чтобы сообщить WP использовать другой заголовок Кнопки обмена Facebook и Twitter не работают изменить положение меню плагина Сколько плагинов безопасности слишком много? Включите пользовательскую боковую панель и удалите главную боковую панель в DWQA Измените WP_Post перед обработкой Как подключить сторожевой скрипт для существования WP-страницы? Искать только пользовательские таксономии Как импортировать большое количество сообщений в одном домене в другой домен? Можно ли отфильтровать отображаемое имя для форматов сообщений для отображения в метаданных Formats? Как определить максимальную ширину для содержимого в редакторе сообщений на основе шаблона страницы?

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

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

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

благодаря!

Solutions Collecting From Web of "Уведомлять администратора при редактировании страницы?"

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

Недавно 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' );