【WordPress】記事内のテキストを一括変更する方法(SQL)

当サイトのリンクには広告が含まれています。
目次

やりたいこと

  • 記事のパーマリンクやスラッグ名を変更したので、記事の中に書き込まれている内部リンクのURLを変更したい。
  • 1件ずつ手で対応するのは大変なので、全記事を一括で変更したい。

対応方法

SQLでDBのデータを書き換える方法で対応します。

前提条件
  • DBのバックアップを取得してあり、万が一失敗した時は元に戻せる知識がある。
  • DBにアクセスしてSQLのクエリを操作できる状態になっている。

記事の中身は、wp_postsテーブルのpost_contentカラムに入っていますので、REPLACE関数を使って、該当するテキスト(今回の場合は内部リンクのURL)を置き換えます。

参照:WordPressデータベース構造

UPDATE
 wp_posts
SET
 post_content = REPLACE(
  post_content,
  '変更前のテキスト',
  '変更後のテキスト'
 )
WHERE
 post_content like '変更前のテキスト'
;

これで該当するテキストが置き換わりますので、内部リンクが正しく機能します。


目次