僕は今まで投稿内の文章をまとめて変換できるプラグインとして「Search Regex」というプラグインをよく使っていたのですが、久しぶりに使ったらPHPのバージョンを上げたせいなのか、エラーが出て使えなくなっていました…
一括置換なんてあまり頻繁にはやらないですが、Twitterのプロフィール名を変えたときとか、アフィリエイトのリンクをまとめて差し替えたいときに使いたくなるので、投稿内のテキストをまとめて一括置換できるプラグインを探してみました。
目次
サイト内のデータを一括置換できるプラグイン「Search & Replace」
投稿内の文章をまとめて変換できるプラグインを探してみたら「Search & Replace」というプラグインがインストール数も多く、更新もされているようなので使ってみました。
ちなみに、今まで使っていた「Search Regex」の最終更新を改めて見てみたら「3年前」…
定期的に更新されてるって大事です。
「Search & Replace」のインストール〜使い方について紹介します。
「Search & Replace」のインストール
「Search & Replace」は管理画面からインストールできます。
プラグインのインストールに関して基本的な操作方法はコチラを参考にしてみてください▼
設定画面を開く
「Search & Replace」の設定画面は「ツール」→「Search & Replace」にあります。
DB(データ)のバックアップ
設定画面を開くとまず「Backup Database」タブが表示されます。
変換をする前に「Create SQL File」ボタンをクリックしてデータのバックアップを作成しましょう。
データバックアップファイル作成が完了するとページ上部にダウンロードボタンが表示されるので、忘れずにファイルをダウンロードします。
投稿内の文章を置換する
置換するテキストを入力する
バックアップが作成できたら文章の置換に進みます!
「Search & Replace」タブを開き、「Search for:」に変換したい元の文章、「Replace with:」に変換後の文章を入力します。
上の画像ではサイトのURLをhttpからhttpsに変換するつもりで入力しました。
「Replace with:」の下にある「CSV Format Search/Replace:」では複数の組み合わせをまとめて変換できるようですが、やや上級者向けな雰囲気がありますね。
対象となるテーブルを選択する
続いて「Select tables」で対象となるテーブルを選びます。
基本的には一覧下の「Select all tables」にチェックをいれて、全選択すれば大丈夫でしょう。
(自分のサイト環境に合わせて個別に選択するにはデータベースの知識が必要になります…)
試しに変換してみる
テーブルの選択まで完了したらあとは変換を実行するだけなのですが、まずは実際にデータを変換するのではなく、どのように変換されるか確認します。
「Dry Run」にチェックを入れ(基本的には最初からチェックがついています)、「Do Search & Replace」をクリックします。
処理が完了するとページ上部に案内が表示されるので、「View details」と書かれたリンクをクリックして、変換結果を確認します。
すると、上の画像のように変換前を赤色、変換後が緑色で表示されます。
変換結果を見て、思っていた結果になりそうであれば実際にデータの変換に進み、「なんか違う…」となったら変換前・変換後のテキストを入力するところに戻り、入力内容を調整しましょう。
確認画面は右上の「☓」ボタンで閉じます。
データ変換実行
実際にデータを変換する場合、「Dry Run」のチェックを外し、「Export SQL file or write changes to DB?」で「Save changes to Database」を選択します。
※「Export SQL file with changes」を選択すると、データ変換が完了したデータのファイルをダウンロードし、ダウンロードしたファイルをインポートする…といった流れになるので、直接データを更新できる「Save changes to Database」のほうが個人的にオススメです。
設定を変えたら「Do Search & Replace」をクリックして変換を実行します!
処理が完了すればサイト内のデータ書換え完了です!
その他の機能
ドメインの書換え
「Replace Domain URL」ではURLの変換ができるようです。
ドメインを置換する時って、要はサイトの引っ越しですよね…
サイトの引っ越しなら個人的には「All-in-One WP Migration」使ったほうが画像とかまとめて引っ越しできるので便利かな…?と思います。
データインポート(SQLのインポート)
「SQL Import」では作成したバックアップやデータの変換をファイルに出力した時にダウンロードしたSQLファイルをインポートできます。
ただ、手元の環境ではエラーになってしまったので、もしかしたら使えない場合もあるかもしれません。
先程作成したバックアップのSQLファイルを別のツールでインポートしてみたところ問題なくインポートできたので、phpMyAdminなどを使えばバックアップからデータを戻すこともできるでしょう…
まとめ
SQLのインポート部分がちょっと残念な結果になってしまいましたが、直接データを書き換える方式であれば問題なく使用できると思います。
「Search Regex」では使えた正規表現置換ができませんが、単純なテキスト変換なら特に問題なく使うことができます!
もし一括置換が必要になったときはお試しください。
ではまた。