WordPressのカスタム投稿タイプ。大きくジャンルが違うものを管理するのに便利ですよね。
こんなプラグインでサクッと作れるのも魅力の一つ。
先日、ちょっとした相談で一つのRSSに複数のカスタム投稿タイプのものを表示出来ないだろうか。との相談があり、設定で悩んだので記録を残します。
プラグインの設定
では、出来ませんでした。(´・ω・`)
サクッと出来るものとばかり。
結局、functions.phpで調整しました
WordPressの場合、困ったことがあると最終的にはフックにたどり着きますね(笑)
カスタム投稿タイプをRSSに出力する、custom_post_rss_set のサンプルが巷に溢れていましたので、これをベースに一部を変更しました。
function custom_post_rss_set($query) {
if ( is_feed() ) {
if ( $query->get('post_type') == 'hogehoge' ){
$query->set( 'post_type',
array(
'hogehoge',
'fugafuga',
)
);
}
return $query;
}
}
add_filter( 'pre_get_posts', 'custom_post_rss_set' );
これで、hogehoge/feed のRSSに、fugafuga/feed の結果も混ぜて表示されます。
おまけ
そもそも、カスタム投稿タイプのfeedが表示されない場合。
Custom Post Type UIの設定で、アーカイブありが[ false ]になっているのかも。デフォルトだとfalseっぽい。ここを[ true ]にするとアーカイブページが作られて、feedもあわせて出力されます。