回答:
メール通知を処理するプラグインはいくつかありますが、それらはすべて(すべての)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
のにドロップするか、プラグインとして保存することができます(「テーマ」に関連しないため、より適切な場合があります)。
sha-投稿されたソリューションがすべてのインスタンスで機能するわけではないという知識を提供することで、質問に答えます。
24時間後、投稿した知識を更新できます。この場所のソリューション(ページが編集されたときに管理者に通知しますか?)は、上記のソリューションが機能しないサーバーで機能します。私が試した2つのコンテキストでうまく機能するソリューションを含むスレッドから引用するには:
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 );
}
}
確かに、適切なPost Status Transitionフックを使用する必要がありますwp_mail()
。
WordPressプラグインディレクトリには、「Post Status Notifier」と呼ばれる非常に柔軟なプラグインがあります。
通知を送信する必要がある場合は、独自のルールを定義できます。受信者、Cc、Bcc、前後のステータスを選択できます。また、本文と件名(プレースホルダーを使用)を完全にカスタマイズできます。
私には完璧に動作します!
テーマの機能ファイルをハックしたくない場合は、このようなプラグインを使用してください。投稿者がレビューのために投稿を送信すると管理者に通知が送信され、投稿が公開されると投稿者にメール通知が送信されます。
https://wordpress.org/plugins/wpsite-post-status-notifications/