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

今回は、WordPressのサイトで、カテゴリー又はタグアーカイブページの場合に、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, 'rss' );
// フィード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 } ?>
サイト全体のRSSフィード・Feedlyのリンクを表示する場合
また、サイト全体のRSSフィードとFeedlyのリンクを表示する場合は、以下のリンク先を参考にしてみてください。
コードの簡単な説明
以下、コードの簡単な説明となります。
カテゴリー・タグ別のフィードを取得|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(省略可)
- rssや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関数となります。