【WordPress】RSS・Feedlyのリンクをカテゴリー・タグ別で表示・出力

今回は、WordPressのサイトで、カテゴリー又はタグアーカイブページの場合に、RSSフィードとFeedlyのリンクをカテゴリー・タグ別で表示する例となります。

また、サイト全体のRSSフィードとFeedlyのリンクを表示する場合は、以下のリンク先を参考にしてみてください。

RSSフィードとFeedlyのリンクをカテゴリー・タグ別で表示

 例では、カテゴリー又はタグアーカイブページの場合に、それぞれのカテゴリー・タグ別のフィードURLを取得し、RSSフィードとFeedlyのリンクを表示します。

以下がソースコードの例となり、カテゴリー又はタグアーカイブページの場合に、RSSフィードとFeedlyのリンクをカテゴリー・タグ別で出力したい箇所に記述します。

<?php
if( is_category() || is_tag() ){
	// カテゴリー・タグアーカイブページから情報を取得
	$obj = get_queried_object();
    $term_name = $obj->name;
	$taxonomy = $obj->taxonomy;
    $term_id   = $obj->term_id;
	// カテゴリー又はタグ別のフィードURLを取得
	$feed_link = get_term_feed_link( $term_id, $taxonomy );
	// フィードURLをエンコード
	$feed_encode = urlencode( $feed_link );
?>

<p><?php echo esc_html( $term_name ) ?>の記事を購読</p>
<ul>
	<li class="rss">
		<a href="<?php echo esc_url( $feed_link ); ?>" target="_blank">RSSフィード</a>
	</li>
	<li class="feedly">
		<a href="<?php echo esc_url( 'https://feedly.com/i/subscription/feed/' . $feed_encode ); ?>" target="_blank">Feedly</a>
	</li>
</ul>

<?php } ?>

ソースコードの説明

以下は、例のソースコードのポイントとなる箇所の説明となります。

カテゴリー・タグ別のフィードを取得|get_term_feed_link()

カテゴリー・タグ別のフィードURLの取得には、get_term_feed_link関数を使用。関数のパラメータは以下となります。

パラメータ

get_term_feed_link( $term_id, $taxonomy, $feed );
$term_id(必須)
タームidを指定します。
$taxonomy(省略可)
第1パラメータで指定したタームidのタクソノミーを指定します。省略した場合は、'category'となります。
$feed(省略可)
rss2やatomなどのフィードの種類を指定でき、省略した場合には'rss2'となります。

get_queried_object関数について

今回の例では、get_term_feed_link関数のパラメータに指定するカテゴリー、タグの情報は、get_queried_object関数を使い取得しました。

get_queried_object関数の詳細については、以下のリンク先を参考にしてみてください。

FeedlyのURLを作成

FeedlyのURLを作成するには、FeedlyのURL内に取得したフィードURLを含めます。そのため、取得したフィードURLは、urlencode関数を使用しURLエンコードしています。

urlencode関数について

urlencode関数は、URLに使用できない文字列を、URLに使用できる文字列に変換(URLエンコード)することができます。また、WordPress以外でも使用できるPHP関数となります。

URLエンコードの詳細については、以下のリンク先を参考にしてみてください。

URLエンコードとは|「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

コメント投稿またはTwitterで返信

コメントは、以下の項目(*は必須項目)を入力し「コメントを送信」ボタンから送信お願いします。メールアドレスは公開されることはありません。
Twitterで返信する場合はコチラから。