Wordpessで投稿内容を書き換える場合に、同様の書き換えが複数ページあると、1記事ずつ修正していくのは大変ですよね。
もしそれが100記事くらいあったら何時間掛かるのって話です。
そこでデータベースから一括置換をしてしまえば楽じゃない!?っていうときの作業手順です。
phpMyAdminを使っちゃおう
データベースから一括置換するにしてもサーバに入ってコマンド操作で置換するってなると、ややこしそうだし怖いから、ちゃちゃっとphpMyAdminを使っちゃいましょう^^
置換の手順
まずは、phpMyAdminにアクセスしよう!
phpMyAdminは、レンタルサーバーを使用している場合だと、大体サーバのコントロールパネルからアクセスできるようになってるから、コントロールパネルを調べてみましょう。
ちなみにsakuraサーバーやX-serverはわかりやすく使用出来たけど、お名前.comのサーバーは標準ではphpMyAdminは使えなかった気がします。
お名前.comは自分でphpMyAdminをインストールする必要があった気が。。。
クエリ操作の画面を表示
phpMyAdminにログインしたら、メインカラムの上部タブ「SQL」を選択しましょう。
クエリを入力するフォームが表示されます。
置換のクエリを入力
置換のクエリは以下のようになります。
UPDATE テーブル名 SET カラム名=replace(カラム名,'置換前','置換後')
置換の例
具体的な例をあげます。
例えば、投稿に以下のようなコードが含まれているとして、
<div class="thisYear">今年</div>
年が変わったから「今年」ではなく「昨年」に変えたい場合、
以下のコードに変更するとします。
<div class="lastYear">昨年</div>
その場合だとクエリはこのようになります。
UPDATE wp_posts SET post_content = replace(post_content, '<div class="thisYear">今年</div>','<div class="lastYear">昨年</div>')
わかりやすくタグも含め丸ごと置換対象として書きましたが、不要な箇所を除けばこんな感じです。
UPDATE wp_posts SET post_content = replace(post_content, '"thisYear">今年','"lastYear">昨年')
データベースの「wp_posts」テーブルの「post_content」カラムに含まれる「”thisYear”>今年」を「”lastYear”>昨年」に置換するという意味合いですね☆
上記の感じでクエリを入力し、「実行」ボタンを押せば、置換は完了です^^
まとめ
データベースからの一括置換ができると、いざというときの修正作業などがかなり短時間で完了しますね^^
もちろん、先ほど紹介したコードのテーブル名やカラム名を変更することで、投稿以外のデータでも置換処理を行なうことができます。
データベースを触るのはリスクが大きいのでちょっと怖いですが、いざというときに使い方を知っておくと非常に便利です。
ただ、操作を行う前には、ちゃんとデータベースのバックアップを取っておくようにしましょう^^;
ちなみに、phpMyAdminでは正規表現を使用した置換はできないみたいです。