Life is Really Short, Have Your Life!!

ござ先輩の主に技術的なメモ

WordPressで、あるカテゴリの記事の著者を一括変更したい

あるカテゴリの記事を管理者にしてたんですけど、元々は私の書いた記事だからこのカテゴリの記事の著者名を変えてくれみたいな話がありました。

以下、SQLでの変更手順です。phpmyadmin等で実行して下さい。

変更したい著者のIDを取得

wordpressのユーザーテーブルからIDを確認して下さい。
仮に10とします。

変更したいカテゴリのIDを取得

wp_termsより、カテゴリのID(term_id)を確認して下さい。
仮に20とします。

あとはこのSQLで一発OK
/* post_authorは著者ID,term_taxonomy_idは記事のカテゴリID */
update 
   wp_posts 
set 
  post_author = 10
where
  id IN (
     SELECT object_id
     FROM wp_term_relationships
     WHERE term_taxonomy_id = 20
  )

サブクエリでは記事とカテゴリのマッピングをしているテーブル「wp_term_relationships」から、記事のID(object_id)をまとめて取得しています。

その取得した当該カテゴリ記事のID配列を対象に、全ての著者IDを変更すれば終了です。

あたりまえだけど、プレフィックスがwp_ではない場合はご自身のテーブル名に合わせて下さい。