WordPressのRSSフィードにカテゴリーとタグを区別して出力する方法

WordPress関連記事

WordPressのデフォルトの設定では、「RSSフィードの<category>タグ内にカテゴリーとタグが区別なく出力」されます。これは混乱を招きやすいので、今回はカテゴリーとタグを明確に区別する方法をご紹介します。

目次

なぜこの区別が必要なのか?

RSSフィードの購読者や、外部ツールを使用してフィードを取り込む時、カテゴリーとタグの情報が混在していると、情報の取得や整理が難しくなります。これを解消するため、区別させます。

カテゴリーとタグを区別する方法

以下の手順で、カテゴリーとタグを区別してRSSフィードに出力できます。

  1. functions.phpファイルを開きます。
  2. 以下のコードを追加します。
/**
 * RSSフィードでカテゴリーとタグを区別して出力する
 */
function custom_feed_categories_tags( $the_list, $type ) {
    if ( 'rss2' != $type ) return $the_list; // RSS2の場合のみ適用

    $categories = get_the_category();
    $tags       = get_the_tags();

    $cat_tag_list = '';

    // カテゴリーのリストを作成
    if ( $categories ) {
        foreach ( $categories as $category ) {
            $cat_tag_list .= sprintf(
                '<category domain="%s" nicename="%s" type="category"><![CDATA[%s]]></category>',
                esc_attr( get_category_link( $category->term_id ) ),
                esc_attr( $category->slug ),
                esc_html( $category->name )
            );
        }
    }

    // タグのリストを作成
    if ( $tags ) {
        foreach ( $tags as $tag ) {
            $cat_tag_list .= sprintf(
                '<category domain="%s" nicename="%s" type="tag"><![CDATA[%s]]></category>',
                esc_attr( get_tag_link( $tag->term_id ) ),
                esc_attr( $tag->slug ),
                esc_html( $tag->name )
            );
        }
    }

    return $cat_tag_list;
}

add_filter( 'the_category_rss', 'custom_feed_categories_tags', 10, 2 );

変更前のRSSフィードのカテゴリーとタグ部分はこうなっています。
先にカテゴリーが出力されますが、RSSフィードだけ見てると区別がつきません。

<category><![CDATA[CULTURE]]></category>
<category><![CDATA[WORKS]]></category>
<category><![CDATA[engineer]]></category>
<category><![CDATA[keyword]]></category>

変更後は、カテゴリーとタグをそれぞれtype="category"type="tag"の属性で区別されます。
これなら、カテゴリーとタグの区別が容易になりますね。

<category domain="https://hogehoge.com/category/culture/" nicename="culture" type="category"><![CDATA[CULTURE]]></category>
<category domain="https://hogehoge.com/category/living/" nicename="living" type="category"><![CDATA[LIVING]]></category>
<category domain="https://hogehoge.com/tag/engineer/" nicename="engineer" type="tag"><![CDATA[engineer]]></category>
<category domain="https://hogehoge.com/tag/keyword/" nicename="keyword" type="tag"><![CDATA[keyword]]></category>

まとめ

WordPressのRSSフィードでカテゴリーとタグを正しく区別することで、購読者や外部ツールが情報をより効率的に取得・整理できるようになります。この小さな変更が、ユーザーエクスペリエンスの向上に繋がりますので、ぜひ試してみてください。

関連記事

あわせて読みたい
RSSフィードで、アイキャッチ画像・抜粋・カテゴリーを外部サイトに表示させる RSS(Really Simple Syndication)は、「ウェブサイトのコンテンツを配信するためのXMLベースのフォーマット」のことで、WordPressにはデフォルトでついている機能です...
WordPress関連記事

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!

コメント

コメント一覧 (1件)

目次