the_category_rss()

the_category_rss()
目次

the_category_rss()の用途

the_category_rss() は、RSSフィード内で投稿に属するカテゴリーを出力するための WordPress テンプレートタグです。通常のテーマテンプレートでは使わず、RSS用テンプレート(feed-rss2.php など)で使用されます。

the_category_rss()の基本構文

the_category_rss( string $type = 'rss2' );

the_category_rss()のパラメータ

引数説明
$typestring出力するRSSの形式。通常は 'rss2' を指定(省略可)。他に 'atom''rdf' も使用可能。

the_category_rss()の処理内容

この関数は、投稿に紐づくすべてのカテゴリーをループして、RSSフィードに適した形式で <category> タグを出力します。

the_category_rss()の出力例(rss2 の場合)

<category><![CDATA[ニュース]]></category>
<category><![CDATA[地域]]></category>

RSSフィードにこのようなカテゴリー情報が含まれます。

the_category_rss()が使用される場所の例

通常は WordPress のフィードテンプレート wp-includes/feed-rss2.php に含まれています。

<?php the_category_rss(); ?>

これは <item> 要素内で使用され、各投稿のカテゴリー情報を表示します。

the_category_rss()のカスタマイズのヒント

RSS フィードをカスタマイズする場合(例:独自のテンプレートを作る)、the_category_rss() を使用すると、カテゴリー情報を適切な形式で自動出力してくれるため便利です。

the_category_rss()の関連関数との違い

関数名説明
the_category()HTML出力用。カテゴリーリンクを出力(テーマで使用)
get_the_category()投稿のカテゴリー情報を配列で取得
the_category_rss()RSS出力用。カテゴリー名を <category> タグで出力
get_the_category_list()HTMLリンク付きのカテゴリー一覧を文字列として取得

応用:カテゴリー名だけ取得してカスタム出力

もし the_category_rss() を使わず、フィードに出力するカテゴリーをカスタム処理したい場合は以下のようにします:

$categories = get_the_category();
if ( ! empty( $categories ) ) {
    foreach ( $categories as $cat ) {
        echo '<category><![CDATA[' . $cat->name . ']]></category>';
    }
}

補足:RSSの種類別の処理

the_category_rss()$type に応じて適切なエスケープ処理やタグ形式を使い分けます:

$type の値出力フォーマットの例
'rss2'<category><![CDATA[○○]]></category>
'atom'<category term="○○" />
'rdf'<dc:subject>○○</dc:subject>
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

初めてホームページを作成したのは1996年。
2000年よりフリーランスで主に中小企業、学校、各種公的団体、個人事業主のWordPressを活用したホームページ制作を行っています。WordPressテーマはそれぞれのクライアントに合わせて作成しています。
WordPressを活用したサイト運営のための情報発信をしていきます。

目次