
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()
は内部で以下を行っています。
- グローバル変数
$post
のIDを取得 get_post_comments_feed_link()
を呼び出す- コメントフィードURLを取得
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アイコンやリンクのデザインを工夫すると分かりやすい