Warning: Declaration of FEE_Field_Terms::wrap($content, $taxonomy, $before, $sep, $after) should be compatible with FEE_Field_Post::wrap($content, $post_id = 0) in /home/twfs/serverkurabe.com/public_html/blog/wp-content/plugins/front-end-editor/php/fields/post.php on line 0

Warning: Declaration of FEE_Field_Tags::wrap($content, $before, $sep, $after) should be compatible with FEE_Field_Terms::wrap($content, $taxonomy, $before, $sep, $after) in /home/twfs/serverkurabe.com/public_html/blog/wp-content/plugins/front-end-editor/php/fields/post.php on line 0

Warning: Declaration of FEE_Field_Category::wrap($content, $sep, $parents) should be compatible with FEE_Field_Terms::wrap($content, $taxonomy, $before, $sep, $after) in /home/twfs/serverkurabe.com/public_html/blog/wp-content/plugins/front-end-editor/php/fields/post.php on line 0

Warning: Declaration of FEE_Field_Post_Thumbnail::wrap($html, $post_id, $post_thumbnail_id, $size) should be compatible with FEE_Field_Post::wrap($content, $post_id = 0) in /home/twfs/serverkurabe.com/public_html/blog/wp-content/plugins/front-end-editor/php/fields/post.php on line 0

Warning: Declaration of FEE_Field_Post_Meta::wrap($data, $post_id, $key, $ui, $single) should be compatible with FEE_Field_Post::wrap($content, $post_id = 0) in /home/twfs/serverkurabe.com/public_html/blog/wp-content/plugins/front-end-editor/php/fields/post.php on line 0

Warning: Declaration of FEE_Field_Widget::wrap($params) should be compatible with FEE_Field_Base::wrap($content, $data) in /home/twfs/serverkurabe.com/public_html/blog/wp-content/plugins/front-end-editor/php/fields/widget.php on line 0

Warning: Declaration of FEE_Field_Comment::wrap($content) should be compatible with FEE_Field_Base::wrap($content, $data) in /home/twfs/serverkurabe.com/public_html/blog/wp-content/plugins/front-end-editor/php/fields/other.php on line 0

Warning: Declaration of FEE_Field_Term_Field::wrap($content, $term_id, $taxonomy) should be compatible with FEE_Field_Base::wrap($content, $data) in /home/twfs/serverkurabe.com/public_html/blog/wp-content/plugins/front-end-editor/php/fields/other.php on line 0

Warning: Declaration of FEE_Field_Single_Title::wrap($title) should be compatible with FEE_Field_Term_Field::wrap($content, $term_id, $taxonomy) in /home/twfs/serverkurabe.com/public_html/blog/wp-content/plugins/front-end-editor/php/fields/other.php on line 0

Warning: Declaration of FEE_Field_Option::wrap($content, $key, $ui) should be compatible with FEE_Field_Base::wrap($content, $data) in /home/twfs/serverkurabe.com/public_html/blog/wp-content/plugins/front-end-editor/php/fields/other.php on line 0
WordPressでコメントを別記事に移動する方法 | Sabakura Blog

WordPressでコメントを別記事に移動する方法

別サイトの話なのですが、WordPressで構築しているサイトで、コメントを別記事に移動したいという要望を受けました。

コメント移動の経緯

どういうことか少し詳しく説明しますと、そのサイトではBBS(掲示板)のようなページを一つ作って、そこのコメント欄でユーザー(お客様)とのやり取りをしていたわけです。WordPressではコメントがスレッドとして管理されることもあり、これまでは上手くいっていました。

しかし、BBSへのコメント数が増えるにつれてコメント欄が縦に長大になるのと、それから商品の感想や問い合わせなど種類の異なる質問が入り混じるようになり、かなり混乱してきたわけです。

で、古い問い合わせは「これまでの問い合わせ」として別記事に分けたり、あるいは最近のコメントも「商品の感想」「商品についての質問」など別記事に分けて、それぞれのコメント欄で返信していきたい、というわけです。

で、ちょっと調べつつやってみましたので、備忘録として残しておきます。

コメントの返信元記事を変更する方法

残念ながら、WordPressのダッシュボードからはコメントの返信元記事を移動することができません。そこで直接MySQLのデータベースを変更します。
※なお作業は自己責任で行ってください。

コメントの返信元記事を変更する手順

  1. コメントを新しい別記事に移動したい場合は、先にWordPressのダッシュボードから新しい記事(または固定ページ)を作っておきます。
  2. phpMyAdminでMySQLにアクセスします。
    ※もちろん環境があれば、phpMyAdmin等を使わずに、SSH等で直接MySQLを操作してもらってもOKです。
  3. WordPressのテーブル群を格納しているデータベースにアクセスします。
  4. 「wp_posts」のテーブルを表示し、コメント移動先の記事の「ID」を確認しておきます。
  5. 次に「wp_comments」のテーブルを表示し、移動したいコメントの編集ボタン(鉛筆マーク)をクリックします。
  6. 「comment_post_ID」のフィールドの値を、先ほど確認しておいた記事の「ID」に変更します。
  7. 「実行する」をクリックします。

上記作業を、移動したいすべてのコメントについて実行します。SQL文が分かる方であれば、まとめて変更していただいても大丈夫だと思います。

また親コメントを移動しただけでは、子孫コメントは移動されませんので、必ず子孫コメントも移動するようにしてください。親子コメント両方を同一の記事に移動する場合であれば、スレッド内の親子関係は失われることはありません。

以上が、コメントの移動方法になります。
ユーザーとのやり取りが多いサイトなど、コメントが多いサイトでは役に立つと思います。

Comment

  1. WordPressのコメントを別記事に移動する « kwLog

    2011-11-25 02:02

    […] WordPressでコメントを別記事に移動する方法 | Sabakura Blog にあるようにデータベースを直接変更した。 SQLについてわかる人のみお試しください […]

コメントを投稿