WordPress プラグインSubscribe2 カスタム投稿・タクソノミーに対応する方法

Subscribe2

プラグインSubscribe2は、デフォルトで通常投稿に対応しています。
カスタム投稿とタクソノミに対応させる方法のご紹介です。

※ご訪問ありがとうございます。こちらの記事は2013/9/3時点の情報です。

カスタム投稿に対応させたいときは?

ご親切にフィルターを用意してくださっています。➔ readme.txtにも書いてあります。
'my_post_type'というカスタム投稿を定義しているとして、この投稿をトリガーにお知らせ配信したいぞ~というときは、

functions.phpなどfunction my_post_types($types) {
$types[] = 'my_post_type';
return $types;
}
add_filter('s2_post_types', 'my_post_types');

もし、複数ならば、$types = array('my_post_type1','my_post_type2') など。
こうすると、「メール通知設定」の上から5行目あたりに、
Subscribe2 will send email notifications for the following custom post types: my_post_type1, my_post_type2

と表示されます。
カスタム投稿編集画面で「Subscribe2通知設定」は追加表示されません。無条件に通知されます。

※「Subscribe2通知設定」を追加するには…
プラグインのソースファイルsubscribe2/classes/class-s2-admin.php 146行目あたりからのfunctionで、post,page と同様に1行追加します。

subscribe2/classes/class-s2-admin.phpfunction s2_meta_init() {
add_meta_box('subscribe2', __('Subscribe2 Notification Override', 'subscribe2' ), array(&$this, 's2_meta_box'), 'post', 'advanced');
add_meta_box('subscribe2', __('Subscribe2 Notification Override', 'subscribe2' ), array(&$this, 's2_meta_box'), 'page', 'advanced');
add_meta_box('subscribe2', __('Subscribe2 Notification Override', 'subscribe2' ), array(&$this, 's2_meta_box'), 'my_post_type', 'advanced');
} // end s2_meta_init()

※プラグインアップデートの際には、この変更はなくなりますので注意しましょう~!

カスタムタクソノミーに対応させたいときは?

同様に、'my_taxonomy_type'を定義しているとして、

functions.phpなどfunction my_taxonomy_types($taxonomies) {
$taxonomies[] = 'my_taxonomy_type';
return $taxonomies;
}
add_filter('s2_taxonomies', 'my_taxonomy_types');

と書いてあげればOK!
こちらは、「読者設定」の「購読カテゴリー」の部分に、表示されますので安心です。
これで、通常のカテゴリーと同様に、購読したいタームを選ぶことができます。

というわけで、ソースをいじらずに済みますので、プラグインがupdateしても大丈夫!ですね。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です