コメント欄を完全に非表示にする方法(タイプ別に制御)
目次
WordPress では投稿や固定ページにコメント欄を表示できますが、サイトの用途によっては「コメント不要」というケースも多いです。
例えば会社サイトや商品紹介ページなどでは、コメント欄があると逆に分かりにくいこともあります。
コピペの注意:
本記事には複数のケース別サンプルコードがあります。
全部をそのままコピーするのではなく、必要なケースだけコピーして
本記事には複数のケース別サンプルコードがあります。
全部をそのままコピーするのではなく、必要なケースだけコピーして
functions.php
に追加してください。
今回は「投稿タイプ別にコメント欄を完全に非表示にする方法」を紹介します。初心者でも使いやすいように、用途別のサンプルコードをまとめました。
実装のポイント
- PHPで無効化する場合 → コメント機能そのものを停止できます。
- CSSで非表示にする場合 → 見た目だけ隠す方法です(機能は生きています)。
- 管理者は見たいけどユーザーには表示したくない → 条件分岐で実現可能です。
functions.php にコードを追加
ケース1: 固定ページだけコメント無効化したい
add_action('init', function() {
if (post_type_exists('page')) {
remove_post_type_support('page', 'comments');
remove_post_type_support('page', 'trackbacks');
}
});
ケース2: 投稿ページだけコメント無効化したい
add_action('init', function() {
if (post_type_exists('post')) {
remove_post_type_support('post', 'comments');
remove_post_type_support('post', 'trackbacks');
}
});
ケース3: 固定ページと投稿ページの両方をコメント無効化したい
add_action('init', function() {
foreach (['post', 'page'] as $type) {
if (post_type_exists($type)) {
remove_post_type_support($type, 'comments');
remove_post_type_support($type, 'trackbacks');
}
}
});
ケース4: カスタム投稿タイプ「news」で無効化したい
add_action('init', function() {
if (post_type_exists('news')) {
remove_post_type_support('news', 'comments');
remove_post_type_support('news', 'trackbacks');
}
});
ケース5: 管理者はコメントを見たいが、ユーザーには表示しない
add_action('wp', function() {
if (!current_user_can('administrator')) {
add_filter('comments_array', '__return_empty_array'); // コメント一覧を空にする
add_filter('comments_open', '__return_false'); // コメント投稿を無効化
}
});
ケース6: 管理画面からもコメント項目を完全に隠したい
add_action('admin_menu', function() {
remove_menu_page('edit-comments.php'); // 管理画面の「コメント」を非表示
});
補足:
PHPで無効化すると、そもそもコメント機能が利用できなくなります。
CSSで非表示にする方法は「一時的に隠したい」「テーマを壊さずに簡単に対応したい」時に便利ですが、コメント自体は残ってしまいます。
PHPで無効化すると、そもそもコメント機能が利用できなくなります。
CSSで非表示にする方法は「一時的に隠したい」「テーマを壊さずに簡単に対応したい」時に便利ですが、コメント自体は残ってしまいます。
汎用CSS
/* コメント欄を非表示 */
#comments,
.section-comments,
.comment-respond {
display: none !important;
}
テーマ別サンプルCSS
Lightning用
/* Lightningのコメント欄を非表示 */
#comments,
.section-comments,
.comment-area {
display: none !important;
}
Cocoon用
/* Cocoonのコメント欄を非表示 */
#comments,
.comment-area,
.comment-respond {
display: none !important;
}
投稿タイプとは?
WordPress には記事の種類を分けるための仕組みがあり、これを「投稿タイプ」と呼びます。
投稿タイプ | 説明 |
---|---|
post | 通常のブログ投稿記事 |
page | 固定ページ(会社概要、お問い合わせなど) |
attachment | メディア(画像・PDF など) |
custom post type | 開発者が追加する投稿タイプ(例:news、event、product など) |
代用プラグイン
コード編集が不安な方はプラグインを使う方法もあります。
- Disable Comments – 全体的にコメント機能を無効化
- No Page Comment – 投稿タイプごとにコメント設定を制御
注意: プラグインを使う場合は、更新状況やWordPressのバージョン対応を確認してください。
まとめ
コメント欄を非表示にするには大きく「PHPで機能ごと止める」「CSSで見た目だけ隠す」の2つの方法があります。
初心者の方はまず「固定ページだけ無効化」などシンプルなケースから試すのがおすすめです。
サイトの用途に合わせて最適な方法を選びましょう。