WordPressのコメントやトラックバックを全記事一括でオープン/クローズする方法

当ブログのコメントシステムをFacebookコメントから、DISQUSに変更しました。以前も使ってたので戻したというほうが正しいのかもしれません。

ちょっとそれに伴ってコメントの設定を変更する必要が出てきたので、過去の記事も含めまるっとすべて設定を変更することにしました。

「Disqus Comment System」プラグイン

Startup Schwag Bag #9 - DISQUS ShirtStartup Schwag Bag #9 – DISQUS Shirt Photo by homard.net

以前にDISQUSをコメントシステムにしたときも使っていたんですが、今回再導入しました。DISQUS使うならこれが最もラク。

このプラグインは有効化することで、comments_template();関数で出力されるcomments.phpの代わりにDISQUSを表示させる仕組みとなっていて、基本的にブログ側の設定、あるいは記事側の設定でコメントをオープンにしていないと意味がありません。

ここのところ、意図してコメントをクローズして投稿を続けていたため、このままにしておくとDISQUSが表示されない記事ばっかりになってしまいます。それじゃあ意味がない。

かといって記事単位で設定をちまちまと変更していくのも時間的に避けたいところですよね。。

一括でコメント/トラックバックの設定を変更する

ということで、サクリと一括で変更することにします。
WordPressの設定じゃどうにもならんので、使うのは「phpMyAdmin」です。

mysql mintsmysql mints Photo by jimw

phpMyAdminとは、PHPで実装されたMySQLの管理ツールのことで、データベースやテーブルの作成、データの追加・参照をブラウザ上から行うことができるようにしたもの。

要はデータベースをいじりやすくするためのツールです。

[関連] ロリポップ! でデータベースをMySQL5.6.11にアップデートする手順 

記事のコメントとピンバック/トラックバックは、wp_postsテーブル(接頭辞wp_は異なる場合があります)で、コメントはcomment_status、ピンバック/トラックバックはping_statusに、openあるいはclosedのステータスが設定されて判別されるようになっています。

これを元にSQLを実行するだけです。

phpMyAdminにログインして、変更するデータベースを選択し、SQLタブをクリックします。

SQLクエリ実行

入力フォーム上に以下のSQLを入力して実行することで、コメントとピンバック/トラックバックの一括変更を行うことができます。

オープンにする場合

#コメントを一括でオープン
UPDATE wp_posts SET comment_status='open';

#ピンバック/トラックバックを一括でオープン
UPDATE wp_posts SET ping_status='open';

クローズにする場合

#コメントを一括でクローズ
UPDATE wp_posts SET comment_status='closed';

#ピンバック/トラックバックを一括でクローズ
UPDATE wp_posts SET ping_status='closed';

たったこれだけで、WordPressの設定からは変更不可能な、全記事一括の設定変更ができちゃいます。

ただ、いかんせんデータベースを触る作業になるので、一歩間違えば大惨事になりかねません。やるときは自己責任ですよ。


とりあえずこれですべての記事でDISQUSコメントが表示されるようになりました。最近のブログはあんまりコメントって使われなくなってるので、そもそも設置する必要性あるのか? とも思うんですけどね。。

まぁもし気が向いたらコメントして絡んでやってくださいな。