WordPressの各記事のコメントの許可を一括で変更する方法 (データベースでの SQLクエリの実行)
WordPressのコメントのシステムは 各記事の設定と、全体での設定で
コメント機能の有効と無効を操作することが出来ますが
各記事の設定が優先されるようになっています。
そこで、各記事のコメントの設定がバラバラになっている場合に一括で素早く設定したいわけですが
WordPressにはそういう機能はなく、投稿一覧での選択した記事のみを まとめてクイック編集で変更してやることが可能ですが、クイック編集では 200記事までしか一度に変更することが出来ない
そしてクイック編集から大量に一度に変更すると、サーバーに猛烈な負荷がかかり 500エラーの発生等にもつながるので、量が多い場合には難しいうえ 変更にそれなりに時間がかかる
数十件ずつ、クイック編集で変更していくのも良いですがかなり時間がかかる。
MySqlのクエリ操作で、一括変更してやると
負荷も少なく全件対象に行うことが出来る。
phpMyAdmin から SQLクエリを使って WordPressのデータベースを操作する
今回は、投稿タイプ(post)のみコメントの許可の操作を一括して行う場合の
基本的な手順
phpMyAdmin にログインし
対象のデータベースを選択します
次に SQLタブを選択します
コメントの許可の有無は
wp_posts テーブルの comment_status に値として open か close かで入ってます
openにすることで許可、closeとすることで不許可にすることが出来ます
投稿タイプは
wp_posts テーブルの post_type に値として入っています
通常の投稿では post
固定記事では page
他にはカスタム投稿タイプやアタッチメント等のタイプが存在します
今回は 通常の投稿のコメントの設定だけを変えたいので
post_typeの値で絞込をしてから comment_status の値を一括で変更するクエリを実行します
通常の投稿のコメントの設定を全て許可にする クエリ
UPDATE wp_posts SET comment_status='open' WHERE post_type='post';
通常の投稿のコメントの設定を全て不許可にする クエリ
UPDATE wp_posts SET comment_status='close' WHERE post_type='post';
これら先ほど紹介した
SQLタブのところに記入して実行すれば 1000を超える記事でも一瞬で完了します
万が一のために実行する前に、データベースのバックアップは事前にとっておきましょう
COMMENT