WordPressサイトのSSL化などでパスを一括で書き換えたい時など、記事内の文字列を一括で置換する方法を紹介します。
Database Search and Replace Script in PHPのダウンロード
プラグインでも同様の機能を持つものがありますが、バージョンの関係で使えなかったり、わざわざこのためだけに入れるのもどうかと思うので、PHPのスクリプトをサーバにアップロードするタイプの「Database Search and Replace Script in PHP」がオススメです。
下記URLから公式サイトへアクセスしてください。
Database Search and Replace Script in PHP
ダウンロードリンクを取得するため、ページ中程の下記メールフォームに入力します。
Suggested donation(寄付額)は「Other or nothing」で大丈夫です。無料でも使えるのでSet your own donationは空欄で問題ありません。
アスタリスクがついた箇所をすべて入力したら、赤いボタンで送信します。
指定したアドレスに以下のようなメールが届きます。「here」をクリックしてスクリプトをダウンロードします。
解凍したファイルをサーバにアップロード
ダウンロードしたzipファイルを解凍し、FTPソフトでフォルダまるごとサーバにアップロードします。
アップロード先はwp-config.phpなどwordpressのファイルがあるディレクトリでOKです。
ファイルにアクセスして、置換を実行する
アップロードしたファイルにアクセスして、置換を実行します。
「https://ドメイン名(WordPressインストールURL)/Search-Replace-DB-master/」にアクセスしてください。アクセスすると下記ページが表示されます。
データベースの接続設定
「Databese Details」項目にデータベースの接続情報を設定します。wp-config.phpに記載した内容と同じでOKです。入力が終わったら「Test connection」で接続テストを実行してください。
置換したい文字列の指定
「Search Replace」項目で文字列を指定します。
Replaceは変更前の文字列、withは変更後の文字列です。
置換を実行する
データベースの設定・置換する文字列の設定が終わったら「Let's Go」項目の「Do a safe test run」ボタンをクリックして、対象箇所を検索して洗い出します。この時点ではまだ実行はされません。
問題がなさそうなら「Search and Replace」ボタンをクリックして置換を実行します。
結果の確認とファイル削除
完了したらWordPRessの管理画面から正常に置換できたか確認します。
置換できていることを確認できたら、サイトを改ざんされないようアップロードした「Search-Replace-DB-master」ディレクトリを削除します。