Warning: count(): Parameter must be an array or an object that implements Countable in /home/hispec/www/anquemix/wp-includes/post-template.php on line 284

WordPress カスタム投稿タイプをRSSで配信する

設定が必要があっても、やはり忘れやすいので、メモしておきます。
Wordpressでカスタム投稿タイプを設定して記事を作成すると、標準ではRSS配信に乗らないようです。functions.phpにコードを追加しておく必要があります。

[php]
// カスタム投稿をRSSに配信
function custom_post_rss_set( $query ) {
if ( is_feed() ) {
$query->set( ‘post_type’, array(‘post’, ‘設定したカスタム投稿タイプ名’ ,’配列にいれて複数登録できます’));
return $query;
}
}
add_filter( ‘pre_get_posts’, ‘custom_post_rss_set’ );
[/php]

「custom_post_rss_set」という関数を用意(重複しなければ何でもいいと思います)して、アクションフック「pre_get_posts」に登録します。重要なのは、配列arrayの’post’を除かないこと。自分で設定したカスタム投稿タイプが「audio」と「visual」の場合は、次のように設定します。
[php]
$query->set( ‘post_type’, array(‘post’, ‘audio’ ,’visual’));
[/php]

プラグイン API/アクションフック一覧 – WordPress Codex 日本語版
pre_get_posts
get_posts関数クエリの前に実行する。
アクション関数引数: $wp_query オブジェクトの内容(リスト形式)

こちらのブログを参考にさせていただきました。
WordPress でカスタム投稿タイプの RSS を配信する方法 | ウェブル

カスタム投稿タイプのおかげで、かなり複雑で管理のしやすいサイトが制作できるようになりましたが、忘れやすくて重要な設定もいくつかあるのできちんと設定して、不具合のないサイトにしたいですね。

スポンサードリンク

SNSでもご購読できます。

Loading Facebook Comments ...

コメントを残す

*