ある団体のホームページを運営していますが、団体の各部単位でサイトをWordpressで作り、団体の表紙として別のWordpressでまとめサイトを作っています。
まとめサイトで、各部の新着記事が分かるよにRSSを使って表示させるようにしました。
cocoonのrssショートコードを使い表示させましたが、部ごとのサイトに新規記事を投稿しても、まとめサイトにアップされるまでかなりの時間がかかります。
ネットで調べたところ、一定時間キャッシュされるようでフィード受信キャッシュの無効化が必要なようです。
まとめサイト側の子テーマfunctions.php に下記を入れました。
function do_not_cache_feeds(&$feed) {
$feed->enable_cache(false);
}
add_action( ‘wp_feed_options’, ‘do_not_cache_feeds’ );
また、
RSSで受信し表示される画像は、各投稿記事の最初に入っている画像が表示され、投稿時に設定したアイキャッチ画像が反映されません。
これまたググって調べたところ、
各サイト側の子テーマfunctions.php に下記を入れたらOKとなりました。
function rss_thumbnail($content) {
global $post;
if (has_post_thumbnail($post->ID)) {
$content = get_the_post_thumbnail($post->ID,’thumbnail’) . $content;
}return $content;
}
add_filter( ‘the_excerpt_rss’, ‘rss_thumbnail’);
add_filter( ‘the_content_feed’, ‘rss_thumbnail’);
当初は、受信まとめ側か発信各サイトに入力すればいいのか分からず手間取りました。