wordrpessでrssを出力するのは簡単です。
ホームページのurlの後ろに
/feed/
をつけてアクセスするだけでRSSを取得出来ます。
このサイトのRSSなら
https://creative-studio.jp/wordpress/feed
こうなります。
wordrpessで出力されるRSSですがデフォルトではRSS2.0になります。
最近の仕事で
「wordprssのRSSの出力内容を変更したい」
との依頼がありました。
最近はあまりRSSは聞かないですが、取得している人はいるようです。
まずwordrpssのrssはどこで制御しているのか?
それは
/wp-includes/feed-rss2.php
にあります。
この
feed-rss2.php
がRSSのテンプレートです。
このファイルを変更すれば、RSSの出力を変える事が出来ます。
このテンプレートファイルをプラグイン内のファイルを読み込みたい場合は
add_action( ‘do_feed_rss2’, ‘do_feed_rss2_custum’ );
function do_feed_rss2_custum() {
load_template( ABSPATH . ‘wp-content/plugins/sample_plugin/rss/feed-rss2.php‘ );
}
のように書きます。
元のファイルの
feed-rss2.php
をそのまま持ってきてしまい、中身を変更します。
RSSの中身を変更する
では実際にRSSの中身を変更してみます。
RSSのデフォルトテンプレートである
feed-rss2.php
の中に
while ( have_posts() ) :
the_post();
?>
<item>~~~~~
</item>
<?php endwhile; ?>
という箇所があります。
わかると思いますがwhileでループをしています。
ループをしているという事は。。?
そうです、中で
echo $post->ID
すれば投稿IDが取得出来ます。
もう後は煮るなり焼くなり好きに出来ます。
rssの投稿のタイトルを変更しようと思えば、元は
<title><?php the_title_rss(); ?></title>
ですが、このタイトルの横に投稿日時を表示しようと思えば
<title><?php the_title_rss();echo get_post($post->ID)->post_date; ?></title>
これで表示出来ます。