2012-04-17

[WordPress] RSSにカスタム投稿タイプのカスタムフィールドを反映


先の記事「カスタム投稿タイプでの投稿をRSSに反映」のやり方で、カスタム投稿タイプの記事をRSSに反映させると、
カスタムフィールドを使用していたため、タイトルしかうまく表示されていませんでした。

その中でカスタムフィールドの値を表示させるにはfunction.phpに下記のコードを書きます。
ついでに画像も表示させています。


function my_feeds($content) {
global $post;
//指定したカスタム投稿タイプのときのみ、カスタムフィールドの値を取得
if (get_post_type() === 'カスタム投稿タイプ名') {
//画像の取得
$imagefield = get_imagefield('画像のカスタムフィールド名');
$medium_url = wp_get_attachment_image_src($imagefield['id'],'medium');
//先頭に画像、通常の記事(content)の後に、カスタムフィールドの値を追加
$content = "<p><img src=\"" . $medium_url[0] . "\" /></p>" . $content . get_post_meta($post->ID, 'テキストのカスタムフィールド名', true);
}
return $content;
}
add_filter('the_excerpt_rss', 'my_feeds');
add_filter('the_content_feed', 'my_feeds');



ちなみにRSSを確認していて、ChromeやFirefoxでRSSをリロードしても変更内容が反映されず、
上記のコードがうまくいっていないのかと悩みました。
どうやらキャッシュなんですかね。設定はあるのかもしれませんが。
ちなみにIE9でRSSを見ると毎回リロードで変更できたので、
何度も変更して確認するのには便利でした。

Comment:

Trackback URL: