permalink_comments_rss()

permalink_comments_rss()

目次

permalink_comments_rss()とは?

permalink_comments_rss() は、
投稿や固定ページ単位のコメントRSSフィードのURLを出力するテンプレートタグ
です。

この関数を使うと、特定の記事に付いたコメントのみを購読できるRSSフィードURLを簡単に取得できます。
ブログ読者が「この投稿のコメントだけを追いたい」というときに便利です。

例えば、「この記事へのコメントをRSSでチェックする」リンクを作る場合に使います。


permalink_comments_rss()の基本的な使い方

書式は非常にシンプルです。

<?php permalink_comments_rss(); ?>

出力例:

https://example.com/2025/07/03/sample-post/feed/

このURLをRSSリーダーに登録すると、その記事への新しいコメントだけが配信されます。


戻り値と動作

  • 戻り値: なし(この関数は文字列を返さず、URLをそのまま echo します)
  • 利用する対象: 投稿ページや固定ページ(単一ページ)
  • 使う場所: 単一投稿テンプレート (single.php, page.php)

注意点として、この関数をアーカイブやトップページで呼び出すと、意図した動作にならない可能性があります。


permalink_comments_rss()の実装例

以下のように、リンクタグを作るのが一般的です。

<a href="<?php permalink_comments_rss(); ?>">
  この投稿のコメントをRSS購読する
</a>

出力されるHTML:

<a href="https://example.com/sample-post/feed/">
  この投稿のコメントをRSS購読する
</a>

クリックするとRSSフィードが開き、RSSリーダーに登録できます。


permalink_comments_rss()の内部の仕組み

permalink_comments_rss() は内部で以下を行っています。

  1. グローバル変数 $post のIDを取得
  2. get_post_comments_feed_link() を呼び出す
  3. コメントフィードURLを取得
  4. echo でURLを出力

つまり、この関数は単なるラッパーです。


get_post_comments_feed_link()との違い

get_post_comments_feed_link() はURLを返すだけで、出力しません。

書式:

get_post_comments_feed_link( int $post_id = null, string $feed = '' )

例えばURLを変数に格納したい場合はこちらを使います。

例:

<?php
$url = get_post_comments_feed_link();
echo '<a href="' . esc_url($url) . '">コメントRSS購読</a>';
?>

RSSフィードURLの形式

WordPressのコメントRSSは、パーマリンク設定によってURLが変わります。

デフォルトパーマリンク(?p=123形式)

https://example.com/?feed=rss2&p=123

フレンドリーパーマリンク

https://example.com/sample-post/feed/

内部では、feed/が付くと「記事のコメントフィード」と自動的に認識されます。


permalink_comments_rss()の活用シーン

  • 記事ごとのコメント購読リンク
  • メタ情報欄への設置
  • フィードをRSSリーダーでチェックしたいユーザー向け

permalink_comments_rss()の実用的なコード例

投稿本文下に「コメントRSS購読リンク」を表示するテンプレートコードです。

<?php if (is_singular()): ?>
  <div class="comments-rss-link">
    <a href="<?php permalink_comments_rss(); ?>">
      この投稿へのコメントフィード
    </a>
  </div>
<?php endif; ?>

is_singular()で単一ページだけに表示します。


フィード形式の指定

permalink_comments_rss() には引数がなく、デフォルトで rss2 が利用されます。

もし他のフィード形式(RDF, Atomなど)を使いたい場合は
get_post_comments_feed_link() を使います。

例:Atomフィードを取得する

$url = get_post_comments_feed_link( get_the_ID(), 'atom' );

生成されるURL:

https://example.com/sample-post/feed/atom/

セキュリティ対策

この関数自体は安全にURLを出力しますが、HTML属性に埋め込む際は esc_url()を推奨します。

例:

<a href="<?php echo esc_url( get_post_comments_feed_link() ); ?>">
  コメントフィード
</a>

permalink_comments_rss()のカスタム用途

RSSアイコンを表示する例:

<a href="<?php permalink_comments_rss(); ?>" class="rss-icon-link">
  <img src="<?php echo get_template_directory_uri(); ?>/images/rss-icon.png" alt="RSSフィード">
</a>

CSS例:

.rss-icon-link img {
  width: 24px;
  height: 24px;
}

permalink_comments_rss()のよくある質問

トップページやカテゴリページで呼ぶとどうなる?

現在の $post を参照するため、意図しないURLが出るかエラーになることがあります。
単一投稿/ページだけで使いましょう。

コメントフィードは何に使う?
  • 記事の議論を追いたい読者がRSSリーダーで購読できます
  • コミュニティや大規模ブログで有用
  • 通知の代わりに使う運用も可能
自分でURLを作れますか?

はい。get_post_comments_feed_link()を使い、必要に応じて手動でURLを組み立てます。


まとめ

  • permalink_comments_rss()は特定投稿のコメントRSSフィードURLを出力する関数
  • 戻り値はなく、そのままechoされる
  • 他のフィード形式や変数取得にはget_post_comments_feed_link()を使用
  • is_singular()条件分岐で表示を制御する
  • esc_url()でエスケープ推奨

活用ポイント

  • 単一投稿テンプレートでRSSリンクを追加するだけで、読者がコメント更新を購読可能
  • コメントが多いコミュニティ系サイトに特に有効
  • RSSアイコンやリンクのデザインを工夫すると分かりやすい

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

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

目次