概要
have_comments
関数は、投稿やページにコメントデータが存在するかどうかを調べるための関数です。この関数は、テーマのテンプレート内でコメントを表示する際に使用され、コメントが存在する場合にのみ、その内容を表示するロジックを構築するのに役立ちます。
よく使用される機能としては以下のようなものがあります:
- 記事にコメントがあるときにコメントリストを表示する。
- コメントがない場合は「コメントはありません」と表示する。
- 特定の条件下でのみコメントセクションを表示する。
- コメント数を条件にしたスタイリングの設定。
- ユーザーに投稿に対するフィードバックを促すUIを構築する。
- ウェブサイトにおけるエンゲージメントを測定するための条件分岐を設ける。
- コメントの表示/非表示を管理するオプションを実装する。
- コメントがある場合にだけ特定のJavaScriptを読み込む。
構文
have_comments();
パラメータ
この関数には特にパラメータはありません。
戻り値
true
: コメントが存在する場合。false
: コメントが存在しない場合。
関連する関数
使用可能なバージョン
- この関数はバージョン 2.0 以降で使用可能です。
コアファイルのパス
wp-includes/comment.php
この関数のアクションでの使用可能性
アクション | 使用可能性 |
---|---|
mu_plugin_loaded | |
registered_post_type | |
plugins_loaded | |
wp_roles_init | |
setup_theme | |
after_setup_theme | |
set_current_user | |
init | |
register_sidebar | |
wp_loaded | |
send_headers | |
parse_query | |
pre_get_posts | |
wp | |
template_redirect | |
get_header | |
wp_head |
サンプルコード
サンプルコード1: コメントがある場合の処理
if (have_comments()) {
echo '<h2>コメント</h2>';
wp_list_comments();
} else {
echo '<p>コメントはありません。</p>';
}
このコードは、コメントが存在する場合に「コメント」というタイトルを表示し、コメントリストを表示します。それ以外の場合は「コメントはありません」と表示します。
サンプルコード2: コメント数の表示
if (have_comments()) {
echo 'この投稿には ' . get_comments_number() . ' 件のコメントがあります。';
}
このコードは、コメントが存在する際にその数を表示します。
サンプルコード3: コメントエリアの表示
if (comments_open() && have_comments()) {
echo '<div class="comments-area">';
// コメントリストを表示
wp_list_comments();
echo '</div>';
}
このコードは、コメントが開いており、コメントが存在する場合にのみコメントエリアを表示します。
サンプルコード4: スタイルの適用
if (have_comments()) {
echo '<div class="comment-list">';
wp_list_comments(['style' => 'div']);
echo '</div>';
} else {
echo '<p>コメントがまだありません。</p>';
}
このコードは、コメントリストを表示する際に、各コメントをdiv要素内に配置します。
サンプルコード5: JavaScriptの読み込み条件
if (have_comments()) {
wp_enqueue_script('comment-script', get_template_directory_uri() . '/js/comment.js', [], null, true);
}
このコードは、コメントが存在する場合にのみ特定のJavaScriptファイルを読み込みます。