2011年12月23日金曜日

wordpressのcustompostsを含む、xml+rss feedの修正の仕方

今日からコードかきながら、メモることにした Z



さっそく、今日はまりから



customposts を 初めて使ったわけですがfeedにうまく反映されない。。。



まずはじめに、heder.phpに



<link rel="alternate" type="application/rss+xml" title="<?php bloginfo('name'); ?> RSS" href="<?php bloginfo('rss2_url'); ?>" />

これを追加することで ブラウザについてるrssボタンに反映できることがわかった



その辺は以下で、他atomとかも設定できる。http://wpdocs.sourceforge.jp/WordPress_Feeds















_______でcustom postの設定は



http://www.wpbeginner.com/wp-tutorials/how-to-add-custom-post-types-to-your-main-wordpress-rss-feed/



こちら参考サイトより



すべてのcustompost にfeedに反映させるときは、function.phpに以下を追加





function myfeed_request($qv) {
if (isset($qv['feed']))
$qv['post_type'] = get_post_types();
return $qv;
}
add_filter('request', 'myfeed_request');












選択して任意のcustompostを選ぶ場合は、

















function myfeed_request($qv) {
if (isset($qv['feed']) && !isset($qv['post_type']))
$qv['post_type'] = array('post', 'story', 'books', 'movies');
return $qv;
}
add_filter('request', 'myfeed_request');





arrayの中身で設定する感じで。













________












がしかしfeedにcutompostは反映されるようになったが





http://example.com/feed





これの中身をchromeで見てみると












一つ目も記事の





<description><![CDATA[





で出力されていない。












http://bgs-works.com/blog/?p=310






この辺を参考すると





include/feed-rss2.php






とかでrssをいじれるのでこの辺を修正





the_excerpt_rss()






→the_content_feed()





に修正












the_content('', 0, '', 0, 2)





にするとか





the_content()にするとかいろいろあったけど、とりあえずこれで求める全文表示できた。












この辺の関数は















include/feed.php






でいじれるので、ここで適宜修正で。





これでほんとにいいのかなー誰か修正してくれないかなー。





























0 件のコメント:

コメントを投稿