WordPressカスタム投稿タイプのRSS習得

スポンサーリンク

通常投稿のRSS

通常のパーマリンクを使用の場合

4種類あります。

http://example.com/?feed=rss
http://example.com/?feed=rss2
http://example.com/?feed=rdf
http://example.com/?feed=atom

カスタム パーマリンクを使用の場合

5種類あるようです。

http://example.com/feed/

私は↑↑この方法↑↑で取得しています。

http://example.com/feed/rss/
http://example.com/feed/rss2/
http://example.com/feed/rdf/
http://example.com/feed/atom/

カスタム投稿タイプのRSS

カスタム投稿タイプ名で指定する 2種類あります。

http://example.com/feed/?post_type=カスタム投稿タイプ名

私は↑↑この方法↑↑で取得しています。

http://example.com/?feed=rss2&post_type=カスタム投稿タイプ名

通常投稿と一緒にカスタム投稿タイプも取得

この場合はひと手間必要です。
functions.php に以下のようなコードを追加します。

//++++++++++++++++++++++++++++++++++++++++++++++
//通常投稿と一緒にカスタム投稿タイプも取得
<?php
function mysite_feed_request($vars) {
    if ( isset( $vars['feed'] ) && !isset( $vars['post_type'] ) ) {
        $vars['post_type'] = array(
		'post',
		'カスタム投稿タイプ名1',
		'カスタム投稿タイプ名2', 
		'カスタム投稿タイプ名3'
		);
    }
    return $vars;
}
add_filter( 'request', 'mysite_feed_request' );
?>

参照ページ
[WP]WordPress でカスタム投稿タイプのRSS を配信する方法

RSSにアイキャッチを表示させる

テーマによってはアイキャッチが出力されません。その場合はfunctions.php に以下のようなコードを追加します。

//++++++++++++++++++++++++++++++++++++++++++++++
// RSS Feedにアイキャッチ画像を表示する
function post_thumbnail_feeds($content) {
    global $post;
    if(has_post_thumbnail($post->ID)) {
        $content = '<div>' . get_the_post_thumbnail($post->ID, array(150,150,true)) . '</div>' . $content;
    }
    return $content;
}
add_filter('the_excerpt_rss', 'post_thumbnail_feeds');
add_filter('the_content_feed', 'post_thumbnail_feeds');

サンプルコードの6行目に写真サイズと表示方法があります。
ここだけ自分用に変更しましょう。

array(150,150,true))

横150px 縦150px になっています。好きな数字に変更して下さい。
比率を保ったまま縮小なら false 、縮小しないで中央をトリミングなら trueとします。

テーマに150px×150pxのサムネイルが対応していないと表示されません。
functions.php に以下のようなコードで必要なサムネイルを追加します。

thumb150 は任意の名前です。わかりやすいような名前にしましょう。

//++++++++++++++++++++++++++++++++++++++++++++++
//アイキャッチ画像を追加
add_theme_support('post-thumbnails');
add_image_size('thumb150',150,150,true);

シェアする

フォローする