comments-popup.phpが要らない子過ぎる

WordPressのテーマにはcomments-popup.phpというモジュールテンプレートファイル(と呼ぶらしいです)がありますが、余りにも要らない子過ぎるので、削除してみたいと思います。

私自身が余りよくわからずに改造しているので内容の信憑性は怪しいかもしれません。なるべく正確に書くよう配慮しますが、間違っているかもしれません。

テーマファイルの基礎知識

「さーて、テーマを自作してみるぞ」という場合、大抵においては付属のデフォルトテーマの改造から取り掛かると思います。そのなかでも、WordPress Classic 1.5に焦点を合わせて、話を進めて行こうと思います。

モジュールテンプレートとは

モジュールテンプレートとは、テーマの中に含めるソースファイルの中でも、WordPress本体によって特別扱いされる名前を持ったものです。日本語版公式ドキュメンテーションでは、以下のようなものがあると説明されています。

  • header.php
  • sidebar.php
  • footer.php
  • comments.php
  • comments-popup.php

この中でも、header.php以下4つのファイルは、使用目的と使用場所がなんとなく理解できます。それでは、それぞれのファイルにどのような相関関係があるのか見ていきましょう。

モジュールテンプレートの相関関係

呼び出し元ファイル 呼び出す関数 呼び出し先ファイル
index.php get_header() header.php
index.php get_footer() footer.php
footer.php get_sidebar() sidebar.php
index.php comments_template() comments.php

上記のような相関関係があることが、ソースを見ると読み取れます。では、comments-popup.phpとはどこで使用されるのでしょうか。ここでは、以下の場所に着目します。

<!-- header.php -->
<?php //comments_popup_script(); // off by default ?>

直接の呼び出し元はここではありませんが、コメントを閲覧するリンクをクリックした際に、comments-popup.phpを利用するということを設定するための処理だと思われます(私はWordPressのソースコードを読んでいないので、予測でしゃべっています)。デフォルトではコメントアウトされており、使用しないこととなっているのがわかります。

<!-- index.php -->
<?php comments_popup_link(__('Comments (0)'), __('Comments (1)'), __('Comments (%)')); ?>

実際に呼び出しを行っている箇所はここになります。上記の設定があれば、コメント欄が以下のスクリーンショットのようにポップアップしてきます(別ウィンドウで表示されます)。設定がない場合、single.php(個別記事ページのコメント)へのラベル付きリンクに書き換えられています。

ポップアップ

ポップアップ

まとめ

このようにcomments-popup.phpは、通常使えそうにない設定なので、削除しても良さそうです。その代わり、header.phpの該当箇所はコメントアウトしたままにしておくのが良いでしょう。

ところが、間違ってcomments-popup.phpを呼び出すクエリが発行された場合、Defaultテーマのcomments-popup.phpを探しにいくようです。そのため、Defaultなどのテーマを直接弄ったり、消したりするのはやめたほうが良さそうです(存在しない場合、エラーになります)。

参考(になりそうなURL

コメントを残す

メールアドレスが公開されることはありません。