WordPressでカスタム投稿タイプの記事もRSSに配信させる方法

WordPressでカスタム投稿タイプの記事もRSSに配信させる方法

WordPressでカスタム投稿タイプの記事もRSSに配信させる方法

WordPress でサイトを作成する際、カスタム投稿タイプを使うと色々と捗りますが、カスタム投稿タイプはデフォルトの状態だと RSS に配信されません。カスタム投稿タイプも RSS に配信させたい場合は、テーマをカスタマイズする必要があります。

そこで今回は、カスタム投稿タイプの記事も RSS で配信するための手順を紹介したいと思います。

カスタム投稿タイプの投稿をRSS配信する方法

カスタム投稿タイプを RSS で配信するには、以下のコードを functions.php に追加します。


function custom_post_rss_set( $query ) {
 if ( is_feed() ) {
 $post_type = $query->get( 'post_type' );
 if ( empty( $post_type ) ) {
 $query->set( 'post_type', array( 'post', 'news', 'wordpress' ) );
 }
 return $query;
 }
}
add_filter( 'pre_get_posts', 'custom_post_rss_set' );

5行目の ‘news’ と ‘wordpress’ の部分がカスタム投稿タイプ名なので、この部分をあなたが作成しているカスタム投稿タイプ名に変更してください。

$query->set( 'post_type', array( 'post', 'news', 'wordpress' ) );

ここに記述した投稿タイプの記事だけが RSS に配信されます。

RSSの並び順を変えたい場合

RSS で配信される記事は、通常新しく追加された順に並んでいます。この並び順を更新順に変更したい場合は、上記コードを以下のように変更します。


function custom_post_rss_set( $query ) {
 if ( is_feed() ) {
 $post_type = $query->get( 'post_type' );
 if ( empty( $post_type ) ) {
 $query->set( 'post_type', array( 'post', 'news', 'wordpress' ) );
 $query->set( 'orderby' , 'modified');
 $query->set( 'order' , 'DESC');
 }
 return $query;
 }
}
add_filter( 'pre_get_posts', 'custom_post_rss_set' );

6行目で ‘modified’ を ‘date’ に変えれば、日付順になります。

$query->set( 'orderby' , 'modified');

また、7行目で ‘DESC’ を ‘ASC’ にすると古い記事が上に表示されます。

$query->set( 'order' , 'DESC');

配信される順番がちゃんと日付順にならない時などにも試してみるといいかもしれませんね。

あとがき

functions.php にコードを追加するだけで簡単だし、配信する投稿タイプを自分で選択できるのもいいですね。カスタム投稿タイプを追加している方はぜひ試してみてください。

この記事が気に入ったら
いいね!してね♪

Twitter で

コメントを残す

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