新しい投稿が公開されたときにサブスクライバーにメールを送信するだけのプラグインを作成しています(保留中、更新中、下書き中などにメールを送信しないようにする必要があります)
プラグインの定義には次のものがあります。
add_action('plugins_loaded', 'setup_plugin_actions');
function setup_plugin_actions(){
if(has_action('new_to_publish')){
$simple_email_subscriber = new email_subscriber();
add_action('new_to_publish', $simple_email_subscriber->email_subscribers());
}
}
And in my email_subscribers method I have:
class email_subscriber(){
function email_subscribers(){
//get post information
$post = get_post($post_id);
$post = get_post( $post_id );
if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) return false;
if(wp_is_post_revision($post->ID) || wp_is_post_autosave($post->ID)) return;
//email code
......
}
}
非常に単純なコードで、 publish_postメソッドにアクションリスナーを追加しようとしています。
ただし、publish_postは頻繁に発生するため、更新、新規公開を行うたびに、またはワードプレスページにとどまって自動更新を行う場合でも、8通のメールを受信していました。
新しい投稿が本当に作成されたときにのみ発生するコールバックを見つけようとしていました:new_to_post
まったく動作しません。
誰かが私を助けることができますか?
乾杯フィル