Maccle

WordPressの記事の一部文字列をMySQLで一括置換する方法

約 3 分

WordPressでサイトを運営していて、使用しているテーマが変わったり何らかの都合(不都合?!)で本文のコンテンツ内の単語やHTMLタグやら、タグ内で指定している “class=**” だとか “id=**” などのCSSのセレクタを変更したいときが、年に数回あったりします。。

対象の記事が分かっていて、それが数記事程度なら管理画面から個別に投稿画面を開いて更新してもいいのですが、これが数十とか数百記事とかになると、さぁ大変。

そんなときは、大体サーバー(ホスティングサービス)側で提供している「phpMyAdmin」でMySQLデータベースにログインして、たった1行のSQLを発行すれば一瞬ですべての変更箇所を目的の文字列に更新することができます。

とはいえ、毎回このたった1行のSQLコマンドを忘れるので、私的メモも兼ねて超丁寧に残しておきます。。

文字列を一括置換するSQLコマンド

WordPressの記事データは、インストール時に接頭辞を “wp_” とした場合、データベースの “wp_posts” テーブル“post_content” というフィールド(カラム)に存在しています。

画像では、”wp_1_posts”とかになってますけど、、このテーブルを表示してみると、このテーブル内の “post_content” というフィールドに記事のHTMLコンテンツが格納されているのがわかります。

さて、WPにおける記事データのあるテーブルとそのフィールドがわかったところで、例えば、

なんてたーくさんの記事に記述していたHTMLタグを以下に変更したい場合を考えてみましょう。

これをSQL文を発行して一括置換するので、 phpMyAdmin からSQLを開きましょう。

そして、以下のSQLを入力して実行すれば、一瞬で全記事の該当文字列が置換したい文字列に置き換えられます。


※万が一のことがあるので、バックアップの有無は自己責任にて!

この記事を書いたひと

某IT系なんちゃってエンジニアヨーダ
Apple好きだけど盲目マカーは気持ち悪いと思ってる中道だと思い込んでるしがないダメダメエンジニア。

今もってるApple製品↓
Macbook Pro 15 inch, iMac 27 inch (Late 2009), iPhone 6 Plus, iPad (初代! いらない!)
Follow :

コメントはこちら

*

COMMENT ON FACEBOOK