comments_open()


関数WordPresscomments_open()は、特定の投稿やページのコメントが有効かどうかを確認するために使用される関数です。

シンタックス

comments_open( int|WP_Post $post_id = null );
  • $post_id (int|WP_Post) — 投稿IDまたは投稿オブジェクト。指定しない場合、現在の投稿が対象となります。

例 1: 現在の投稿のコメントが有効か確認する

現在の投稿のコメントが有効かどうかをチェックします。

<?php if ( comments_open() ) { echo 'コメントを受け付けています。'; } else { echo 'コメントは閉じられています。'; } ?>

例 2: 投稿IDを指定してコメントが有効か確認する

特定の投稿IDのコメントステータスを確認します。

<?php
$post_id = 42;
if ( comments_open( $post_id ) ) {
    echo 'この投稿はコメント可能です。';
} else {
    echo 'この投稿はコメント不可です。';
}
?>

例 3: カスタムメッセージを表示する

コメントが有効かどうかで異なるメッセージを出力します。

<?php
if ( comments_open() ) {
    echo '<p>コメントをどうぞ!</p>';
} else {
    echo '<p>この投稿のコメントは終了しました。</p>';
}
?>

例 4: ループ内でコメントの状態を確認する

ループ内の各投稿に対してコメントの状態をチェックします。

<?php
if ( have_posts() ) {
    while ( have_posts() ) {
        the_post();
        if ( comments_open() ) {
            echo '<p>この投稿はコメントが開いています。</p>';
        } else {
            echo '<p>この投稿はコメントが閉じています。</p>';
        }
    }
}
?>

例 5: ウィジェットエリアで条件付きのコメントリンクを表示する

ウィジェットエリアで、コメントが開いている場合のみコメントリンクを表示します。

<?php
if ( comments_open() ) {
    echo '<a href="' . get_comments_link() . '">コメントを読む</a>';
}
?>

注意事項

  • コメントが閉じている場合、comments_open()falseを返します。
  • コメントの状態は管理画面の設定および投稿の編集画面から変更できます。

関連機能: