ワードプレスのコメント欄を非表示にしてコメントを全く投稿できなくする方法をご紹介いたします。


ワードプレスのコメントを完全に無効にするコード

下記のコードをワードプレスのテーマに含まれているFunctions.phpやプラグインのコードに含めるとコメントを完全に無効にすることができます。

function comment_status_none( $open, $post_id ) {
    $post = get_post( $post_id );
    //投稿のコメントを投稿できないようにします
    if( $post->post_type == 'post' ) {
        return false;
    }
    //固定ページのコメントを投稿できないようにします
    if( $post->post_type == 'page' ) {
        return false;
    }
    //メディアのコメントを投稿できないようにします
    if( $post->post_type == 'attachment' ) {
        return false;
    }
    return false;
}
add_filter( 'comments_open', 'comment_status_none', 10 , 2 );

ワードプレスのコメントを完全に無効にするコードの解説

こちらのコードは3つのパートに分かれていまして、IF文でそれぞれの投稿タイプを判断してfalse(偽)をreturn(状態の返還)をすることでワードプレスの管理画面でのコメントの設定によらず常にコメントが無効になるようにするコードです。

メディアのコメントだけを無効にされたい場合は、最初と2番目のReturn分のところをtrueに変えるとメディアだけコメントが投稿できないようにすることができます。

修正例

function comment_status_none( $open, $post_id ) {
    $post = get_post( $post_id );
    //投稿のコメントを投稿できるようにします
    if( $post->post_type == 'post' ) {
        return true;
    }
    //固定ページのコメントを投稿できるようにします
    if( $post->post_type == 'page' ) {
        return true;
    }
    //メディアのコメントを投稿できないようにします
    if( $post->post_type == 'attachment' ) {
        return false;
    }
    return false;
}
add_filter( 'comments_open', 'comment_status_none', 10 , 2 );

ワードプレスのテーマやプラグインのカスタマイズのご相談ご依頼はWPドクターまでお気軽にお送りください