MENU

bloginfo_rss()

bloginfo_rss() は、RSS フィード用にサイト情報を出力するテンプレートタグです。bloginfo() と似ていますが、RSS に適した形式(HTMLエスケープ処理された状態)で出力される点が異なります。

通常、RSSテンプレート(feed-rss2.php など)内で使用され、誤動作のないフィード配信に重要な役割を果たします。

目次

機能の説明

どんなテンプレートタグか?

  • RSS 用にエスケープ処理されたサイト情報(タイトル、URL、説明など)を出力する。
  • bloginfo() の RSS 対応版。特殊文字(例: &)などを正しく変換して出力。

どういう時に使うか?

  • RSS テンプレート(wp-includes/feed-*)でサイト情報を出力する時。
  • 通常の bloginfo() を使用するとフィードが壊れる可能性があるため、RSS 対応として bloginfo_rss() を使用する。

シンプルなコード例

<channel>
  <title><?php bloginfo_rss( 'name' ); ?></title>
  <link><?php bloginfo_rss( 'url' ); ?></link>
  <description><?php bloginfo_rss( 'description' ); ?></description>
  <language><?php bloginfo_rss( 'language' ); ?></language>
</channel>

使い方の説明

bloginfo_rss( string $show );

$show の主な引数一覧

引数内容
'name'サイトのタイトル
'description'サイトのキャッチフレーズ
'url'サイトの URL
'language'サイトの言語コード(例: ja
'rss2_url'RSS2 フィードの URL
'atom_url'Atom フィードの URL
'rdf_url'RDF フィードの URL
'rss_url'RSS 0.92 フィードの URL

bloginfo()$show 引数とほぼ同じですが、出力形式が違う(HTMLエスケープされる)

一緒に使うことが多い関連タグ

the_title_rss()

RSS用に投稿タイトルをエスケープして出力。

<title><?php the_title_rss(); ?></title>

the_content_feed()

RSS用に本文を出力。

<description><![CDATA[<?php the_content_feed(); ?>]]></description>

get_bloginfo_rss()

値を取得したい場合(出力しない):

$site_name = get_bloginfo_rss( 'name' );

追加情報で取得したい場合

RSS フィード内では get_bloginfo_rss() を使用することで、値として取得できます。例えば、RSSヘッダー内で条件処理したい場合に使えます。

<?php
if ( get_bloginfo_rss( 'language' ) === 'ja' ) {
  echo '<language>ja</language>';
}
?>

このテンプレートタグを利用してのカスタマイズ

カスタムRSSテンプレートでの利用例:

feed-rss2.php に独自情報を追加:

<generator><?php bloginfo_rss( 'version' ); ?></generator>
<managingEditor><?php bloginfo_rss( 'admin_email' ); ?></managingEditor>

想定されるトラブル

通常の bloginfo() をRSS内で使うとフィードが壊れる

解決方法

RSS出力では bloginfo_rss() を使うことで HTMLエスケープが自動で行われ、XML構造を壊さない。

Q&A

bloginfo() との違いは?

bloginfo_rss() はRSS用にHTMLエスケープされる点が異なる。

値だけ取得するには?

get_bloginfo_rss() を使う。

通常のテーマ内で使える?

使えるが、基本的にはRSSフィードテンプレートで使うもの。

まとめ

  • bloginfo_rss() は RSS フィード内で安全にサイト情報を出力するためのテンプレートタグ。
  • HTMLエスケープ済みの出力により、XML構造を壊さずにRSSを構築できる。
  • フィード系テンプレートで使用され、the_title_rss()the_content_feed() と組み合わせて使われることが多い。
よかったらシェアしてね!
  • URLをコピーしました!

コメント

コメントする

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

目次