説明
comments_open() は、投稿に、コメントが受け付けられているか(コメントが開いているか)を、判定する関数です。
基本構文
comments_open( int|WP_Post $post = null ): bool
引数
$post:投稿のIDまたはオブジェクト(省略すると、現在の投稿)
戻り値
受け付けているときは true。
使い方(サンプル)
if ( comments_open() || get_comments_number() ) {
comments_template();
}
注意点
- コメントが閉じていても、既存のコメントは表示されます。
- 記事ごとに、コメントを受け付けるかを、設定できます。
実務での使いどころ
- コメントフォームを、表示するかを、判断するとき。
よくあるミスと対処
- コメントが閉じていても、既存のコメントがあるのに、コメント欄全体を非表示にする(
get_comments_number()も確認する)。 - ループの外で、投稿を指定せずに、呼んでいる。
NG例
if ( comments_open() ) { // 閉じていても、既存のコメントを見せたい場合に、足りない
comments_template();
}
OK例
if ( comments_open() || get_comments_number() ) {
comments_template();
}
使い分け早見表
| 関数 | 役割 |
|---|---|
comments_open() |
コメントが、受け付けられているか判定する |
get_comments_number() |
コメントの数を取得する |
comments_template() |
コメント欄を、読み込む |

コメント