wordpress_RSS

DESIGN

WORDPRESSでカスタム投稿をRSSに反映させる

  • ARTICLE - No.3
  • issue-2015.4.1
  • 1,034 views

Posted by Keisuke Aratsu
POP1280

このブログを作り始めた当初、RSSの事はそこまで深く考えていなかったし記事書いたら勝手に反映されるくらいにしか思ってませんでした。
けど実際作ってみると全然そんな事なくて、記事の反映がされなさ過ぎて焦りましたが調べたら解決したのでめでたいって感じです。
結局は自分がカスタム投稿を使ってしまった事に原因があった訳ですが。

原因

上にも書いたようにカスタム投稿を使ってしまった事が原因。
自動でRSSを取得してくれるのはWORDPRESSにデフォルトで準備されている「投稿」のみとのこと。
なのでカスタム投稿の記事が取得されないのは当たり前の事でした。

解決方法

これについては色んな方が記事にしてくれているので案外調べるのには困らない。
ただ自分がカスタム投稿の記事は取得できないという結論に至るまでに時間がかかった。
そんなこんなで調べた結果、僕は以下のソースで解決しました。functions.phpに書いて下さい。

function mysite_feed_request($vars) {
	if ( isset($vars['feed']) && !isset($vars['post_type']) ){
		$vars['post_type'] = array(
			'post',
			‘hogehoge’,
			‘hogehoge’
		);
	}
	return $vars;
}
add_filter( 'request', 'mysite_feed_request' );

5,6行目のhogehogeの箇所に任意のカスタム投稿タイプの名前をいれてあげるといいです。
参考にさせてもらった記事はこちら。
76bit cafe

これだけで解決ではない

上記のソースを書いて万事解決かといえばそうではない。
すぐに効果を確認したいのならもう1つやっておいたほうが良い事がある。
wordpress/wp-includes/feed.phpの中のソース内630行目付近に、どの周期でRSSを取得するか記述している箇所があるのでそこを確認してみるとデフォルトだと12時間に1度の取得になっていると思う。
これではさっき追加したソースの効果をすぐに確認する事はできないので30分に1度とかに変えてみましょう。それでちょっと放置して効果確認できたら自分の塩梅のいい間隔とかデフォルトに戻してしまえばいいと思います。

僕はこの方法で無事取得する事ができました。
最初はどうしようかとオロオロしたけど無事解決したのでめでたく記事にしました。

LATEST_

ABOUT ME_

アラツ ケイスケ :
福岡県糟屋郡志免町在住。畑で野菜を育てて生きていきたいwebデザイナー。嫌いなものはクチャラー。1984年10月生まれ。昨年三十路デビューしました。音楽とB級映画をこよなく愛す一面、垂れ流すだけで何を聞いたか観たのか全く記憶にないこともしばしば。(大抵寝落ちしてるか、本を読んでます。)
このブログでは自分が書きたい音楽の事やデザインの事、福岡の事を好きなように書いて行くつもりです。記事掲載のご相談も受け付けますのでどうぞお気軽に。随時受け付けます。僕がバテあがってたらお返事までお時間掛かると思いますが悪しからず。

→CONTACT