WordPressで、カスタム投稿タイプのfeedを埋め込む

Pocket

さつまや本店のホームページでは、WordPressでホームページを作り、カスタム投稿タイプを使ってニュースを配信しています。

[browsershot url=”http://satsumayahonten.com” width=”400″ height=”300″]
そのニュースをフィードで配信する方法のご紹介。
カスタム投稿タイプを news とする。これは、register_post_type()で作っても、Custom Post Type UIみたいなプラグインを使ってもいい。
feedのurlは、codexのこちらを参照。
パーマリンクの設定によって、urlが違うことに注意する。Defaultのを使えば間違いない。
そのフィードのurl入れて、<head>内にいれる。
さつまや本店ではフィードのurlが
http://www.satsumayahonten.com/feed?post_type=news
なので、

<link rel="alternate" type="application/rss+xml" title="さつまや本店ニュース" href="http://www.satsumayahonten.com/feed?post_type=news" />

とした。
同様に、陶芸広場(http://touhiro.jp)の「新着情報」もフィードで配信している。
ちなみに、フィードを購読されると、フィードをクリックしたときに飛ぶページも気にする必要がある。さつまや本店や陶芸広場で使っている投稿タイプ”news”は、タイトル、リンク先、そして本文の構成になっている。リンク先は link_url というcustom fieldで保存している。そこで、single-news.phpを作って、

<?php
$link_url = get_post_meta($post->ID, 'link_url', true);
if($link_url != '')
{
    wp_redirect($link_url);
    exit;
}
else
{
    wp_redirect(site_url());
    exit;
}
?>

のようにすれば、リンクをクリックされても誘導したいページでredirectしてくれる。
他にも、いかのような方法もある。postとnewsのfeedをfeedに入れると

function custom_post_rss_feed($query) {
    if(is_feed()) {
		$query->set('post_type',
			Array(
				'post',
				'news',
			)
		);
        return $query;
    }
}
add_filter('pre_get_posts', 'custom_post_rss_feed');

これが、 /feed/ の内容に反映される。
フィードは、継続的に情報を配信するツールとして極めて効果的なので、是非設定してほしい。