カスタム投稿タイプやカスタム分類のfeed URLを取得する@WordPress
WordPressにカスタム投稿タイプを追加し、指定した投稿タイプの投稿や更に絞って指定した投稿タイプのカスタム分類(カスタムタクソノミー)投稿のfeed URLを取得します。
今回の用途としてはFacebookページへ流す(プラグインRSS Graffitiを使用)ためだけなので、feedのURLさえ取得できれば問題ありません。その場合はfeed URLに引数を追加すればよいです。
カスタム投稿タイプを指定
カスタム投稿タイプのスラッグが「blog」の場合。
WordPressのサイトアドレス/feed?post_type=blog
これはよくお世話になっている公式フォーラムで知りました。 ありがとうございます。
フォーラム » カスタム投稿タイプごとのRSS配信方法 — WordPress
カスタム投稿タイプ+カスタム分類を指定
これが今回必要だったやり方で、これはそのものズバリは見当たらなかったので、あれこれ試してみて得る事が出来ました。
カスタム投稿タイプのスラッグが「blog」で、この投稿タイプにおけるカスタム分類名(今回の例ではgenre)が「social」の場合。
WordPressのサイトアドレス/feed?post_type=blog&genre=social
カスタム分類名は、自身で追加した「分類名」になります。(genre部分)
先述のカスタム投稿タイプの指定に「&」で分類名を追加し、この分類にある取得したいスラッグ(social)を指定しているだけです。
確認のため「genre=」の値を変更してブラウザアクセスしてみましたが、それぞれの分類が取得できていました。
指定したカスタム投稿タイプのfeedをまとめて取得
用途としてはこちらのほうが多いのかもしれません。
以下を使用テーマのfunctions.phpに追加します。
post_typeの配列の指定のところで取得したい投稿タイプのスラッグを指定すれば良さそうです。(「よさそうです」というのは未検証だからです)
// 指定したカスタム投稿タイプ public function custom_post_rss_set( $query ) { if ( is_feed() ) { $post_type = $query->get( 'post_type' ); if ( empty( $post_type ) ) { $query->set( 'post_type', array( 'diary', 'information', 'works' ) ); } return $query; } } add_filter( 'pre_get_posts', 'custom_post_rss_set' );
上記の例ではカスタム投稿タイプのスラッグが「diary」「information」「works」のものを指定しています。
以下の記事で知りました。ありがとうございます。
- 作者: V.E.フランクル,山田邦男,松田美佳
- 出版社/メーカー: 春秋社
- 発売日: 1993/12/25
- メディア: 単行本
- 購入: 17人 クリック: 109回
- この商品を含むブログ (88件) を見る