わかったブログのフィードは部分配信です。フィード経由でコンテンツを無断転載されるのが嫌なので。
ところがこの度、とあるサービスとの連携をするために、全文配信のフィードが必要になりました。
現在のフィードとは全く別のURLのフィードを用意して、そちらを全文配信にすることにしました。それなら、URLを知らない限り、他人から利用されることはありません。
WordPressでオリジナルのフィードを配信する方法(入り口)
を参考にしました。例えば、https://www.wakatta-blog.com?feed=zenbu で全文配信をしたい場合は、function.phpに、
[php]
add_action( ‘do_feed_zenbu’, ‘do_feed_zenbu’ );
function do_feed_zenbu() {
$feed_template = get_template_directory() . ‘/feed-zenbu.php’;
load_template( $feed_template );
}
[/php]
と記述します。
そして、テーマのディレクトリに「feed-zenbu.php」フィードのテンプレートファイルを置きます。
「wp-includes/feed-*.php」にデフォルトファイルがおいてあるので、配信したいフォーマットに合わせて選んでください。私はRSS2形式で配信したかったので、wp-includes/feed-rss2.phpをダウンロードしました。
<item>〜</item>をこんな感じに書き直しました。
常に全文表示したいわけですから、余計な場合分けは取り除いて、
を表示させればよいわけです。
内緒の全文フィードのURLは、パスワード代わりに複雑にしておいたほうが良いでしょう。
▼▼▼▼
ついでに「今日のわかった」もフィードに表示させました。記事のラストの「今日のわかった」は、カスタムフィールド機能を利用して入力しています。
[WordPress] RSSフィードに一言メッセージを追加する方法
こちらの記事を参考にして、全文配信のラストに追加しました。function.phpに下記のコードを書き加えればOKでした。
[php]
function add_to_feed($content){
global $post;
$todays_wakatta = get_post_meta($post->ID,’kyounowakatta’, true);
if ($todays_wakatta) {
$content .= "<p><strong>[今日のわかった]</strong></p><p>" . strip_tags(htmlspecialchars($todays_wakatta)) . "</p>";
}
return $content;
}
add_filter( "the_content_feed", "add_to_feed" );
[/php]
お試し下さい。
コメント