singleでもコメントポップアップ

前回の続き。
レイアウト上の制約で、コメントをポップアップで別ページにする必要があったんですが、投稿ページ(is_single())ではポップアップにならず、そのまま通常通り表示されてしまう。

なぜだろう…。と調べてみると、WordPressデフォルトの挙動でそういう風になっていたから、でした。

# 書式:
# 説明: コメントフォームのポップアップへのリンクを出力。
# 位置: ループ内
テンプレートタグ/comments popup link – WordPress Codex 日本語版

↑Codex日本語版ではこうなってますけど、正確には「Loopの中で」ではなく、「is_single、もしくはis_pageでなかったら」、でした。

/wp-include/comment-template.php
を修正します。

905行目に…

広告

function comments_popup_link() {
	global $id, $wpcommentspopupfile, $wpcommentsjavascript, $post;
 
	if ( is_single() || is_page() )
		return;

という記述があるので、is_singleを外します。(ページでも使いたかったらそちらも。)

function comments_popup_link() {
	global $id, $wpcommentspopupfile, $wpcommentsjavascript, $post;
 
	if ( is_page() )
		return;

これをしないと、コメント数の計測もsingleではできないことになります。
この仕様、何か意味あるんでしょうか? あんまり本体側を更新したくないんですが…。my-hack.phpとかでやったほうがいいのかな。

About: dacelo


2 thoughts on “singleでもコメントポップアップ”

  1. ご紹介ありがとうございますー。
    初級プログラマですが、これからもよろしくお願いします。

  2. ありがとうございます、全面的に参考にさせていただきました。
    いやー私も初心者に毛の生えたようなモノで、日々勉強中です。
    また勉強させてもらいますので、こちらこそよろしくお願いいたします!

Leave a Reply

Your email address will not be published. Required fields are marked *