WordPressで本文などに書かれている文字やコードを置き換えるプラグイン「Search Regex」

公開日: 更新日: バックエンド(管理) 使用中のプラグイン
Wordpressプラグインのアイキャッチ




※Wordpressのバージョンを5.2にしてこのプラグインを使ったらいきなりエラーメールが届くようになったという方、文末にあるリンク記事の方法で対処すると問題が解消できますので参考にしてみてください。

WordPressでサイトを作り、たくさんの投稿などのコンテンツを作った後、「この文言を変更したい」とか「不要になったショートコードやphpプログラムを削除したり編集したい」と思うことありませんか?

そんなときどうしていますか?まさか・・・1つ1つ投稿編集画面を開いて確認してますか??

数が少なければそれでもいいかも知れないですが、何百、何千となったら・・・もうお手上げですね。まあショートコードはコードがそのまま表示されてしまうだけなので不格好になるだけですが、プラグインの吐き出す情報をphpを使って表現をしていた場合はエラーとなり、ページ自体が表示されないこともあります。

そこで重宝するのが今回紹介する「Search Regex」というプラグイン。プラグイン名でネット検索するとたくさん紹介されていますから目に留まると思います。「Search Regex」は管理画面側から投稿や固定ページ、コメント、プログラムそのものなどに含まれた語句を検索して指定語句に置き換えたり、1つ1つ編集したりできる便利なプラグインです。

フロントエンド(閲覧画面)で検索を行うプラグインはたくさんありますが、バックエンドで検索できるのはおそらくこの【Search Regex】だけだと思います。単純な文字の検索ならフロントエンドで検索してページを表示してから編集できますが、フロントエンドでは文字化されてしまうショートコードやphpプログラムなどは不可能です。そんなときに【Search Regex】は大活躍します。

【Search Regex】プラグインの基本的な機能・できること

  1. 指定した条件の文字列に合致する投稿や固定ページの一覧が検索できる
  2. 検索結果から置き換える文字を指定して一括更新できる
  3. 検索結果から個別に編集作業を行うことができる
  4. 「本文」や「タイトル」「コメント」など部分的なコンテンツ指定で検索できる
  5. 「前方一致」や「大文字と小文字の区別」など細かく条件を指定して検索できる
この記事の内容について
このプラグイン紹介記事は簡易的に動作テストをした上で紹介していますが以下の点にご注意願います
  1. すべての環境で動作するとは限りません
  2. できる限り最新のバージョンの情報を紹介するようにしておりますが、閲覧される時期によってはバージョンが変わり、仕様が大きく変更されている場合があります
  3. 有料版と無料版がある場合、テストは原則無料版のみで実施しています
  4. テスト環境については文末に記載しています
  5. 使用方法で紹介しているショートコードをコピーして使用すると、環境によっては記号などが文字化けすることがあります。コピーしたのに動作しない場合は特に「”」「’」などの記号を入力し直してみてください。

【Search Regex】プラグインの設定画面や表示の日本語化と翻訳

当サイトで私が翻訳した【Search Regex】プラグインの日本語化ファイルを配布しています。

翻訳ファイルは

からダウンロードできます(ダウンロードの方法や日本語の適用方法なども解説しています)

翻訳することで設定が容易になり、重要な項目の設定漏れも少なくなりますから日本語化をお勧めします。

【Search Regex】プラグインのインストールと設定

インストールと設定方法

インストールはプラグインの新規追加でプラグイン名で検索してインストールするか、ページ先頭の画像をクリックして表示されるWordpressのプラグイン公式配布ページがダウンロードしてからアップロードインストールします。

インストール方法の詳しい解説は

を参照ください

【Search Regex】プラグインの基本的な使い方

使うときはダッシュボードから「ツール」→「Search Regex」を選択します
WordPressで本文などに書かれている文字やコードを置き換えるプラグイン「Search Regex」
上のような画面になります(日本語翻訳済の画面です)

  1. 検索ソース・・・検索する条件(場所や結果に表示する数など)を設定します
  2. 検索する文字列・・・検索ソースの中から検索を行う語句を指定します(英数字でもマルチバイト文字でもOK)
  3. 置き換える文字列・・・検索文字列と置き換える文字列を設定します
  4. 正規表現で「前方一致」や「全文一致」「大文字と小文字の区別」などを指定できます

そして

  1. 「検索」をクリックすると条件を満たした投稿などのタイトルや指定した文字列が含まれる部分が表示されます
  2. 結果の右側に「表示」と「編集」のリンクが出ますので、クリックして実際の表示を確認したり、投稿編集画面を開いて編集することができます

  3. 「置き換え」をクリックすると検索した部分と置き換えた場合の一覧が表示されます
  4. 検索した文字に対して置き換えた場合の部分的な内容が表示されます。編集は1と同じです

  5. 「置き換えて保存」をクリックすると置き換えが反映されます
  6. 置き換えたものを保存して反映します。置き換えるものが確実な場合にはこれ1つで結果に表示されたすべてのコンテンツが更新されます

※日本語などのマルチバイト文字でも検索できます
※複数のキーワードで検索してみましたが、一続きの単語のみに対応しているようです(一致条件は設定できます)ので、途中にスペースが入るコードなどを検索する場合はユニークな部分の単語で検索すると候補が表示されます。

一発ですべての更新をしてしまいたいところですが、画面上部にも書いてある通りすべて自己責任ですからよく確認してから行うようにしましょう。現実的には「検索」をクリックして出てきた結果から更新の必要があるコンテンツを1つ1つ編集していくというのが無難でしょう。

検索結果から「編集」をクリックすると同一タブで投稿編集画面が開いてしまうので、右クリックして「新しいタブで開く」を選択した方が検索画面を保持できるので使い勝手がいいと思います(編集後は元の画面を表示して再度「検索」をクリックすれば残りの修正候補のみ表示されます)。

【Search Regex】プラグインの便利な使い方・カスタマイズ方法など

より便利に使うカスタマイズ技やテストサイトで使用した結果や感想、Wordpressのプラグイン公式配布ページには書かれていない事柄などを紹介します。

カスタム投稿タイプを検索対象に含める方法

【Search Regex】は有効化段階ではカスタム投稿タイプの投稿には対応していません。従って当然ですが、検索結果には投稿と固定ページの結果のみが表示されます。

このプラグインを使う方はおそらくたくさんの記事を書かれていることだと思いますし、カスタム投稿タイプを使うようなヘビーユーザーの方も多いと思います。その中でカスタム投稿タイプが検索対象にならないのは残念ですね。

でもあきらめるにはまだ早い!!ちょっとプラグインのソースをカスタマイズするだけでカスタム投稿タイプも含めることができます。

投稿本文を例に挙げて説明しますね。

ダッシュボードから「プラグイン」→「プラグイン編集」を開き、「Search Regex」を選択します
たくさんあるファイルの中から「search-regex/searches/post_content.php」をクリックして開きます
先頭の方にある以下の記述を下のように変更します
<変更前のソースコード>

$sql = "SELECT ID, post_content, post_title FROM {$wpdb->posts} WHERE post_status != 'inherit' AND post_type IN ('post','page') ORDER BY ID ".$orderby;
【注意】コードをコピーして使用する前に必ずお読みください

この記事内にコードが記載されている場合、コードはそのままコピー(いわゆるコピペ)してお使いいただいても構いませんが、以下の件にご留意ください。

使用については自己責任でお願いします

コードの確認は私の管理するサイト、またはテスト環境で問題が起こらなかったものですので、お使いの環境での動作等を保証するものではありません。

万が一このコードを使用してサイトに重篤なトラブルが生じても当サイト、当サイト管理者は一切責任を負いません

コードの変換エラーなどにより動作しない場合、更新エラーが出る場合があります

コードをそのままコピーしても問題なく使えるよう文字列変換を行った上で掲載しておりますが、希に変換できていない場合があり、コードエラーとなることがあります

その場合には以下の方法で修正を行ってみてください

  1. コードの中に全角の記号が入っていませんか?
  2. 半角にすることで解消できます
  3. コードの中に全角の空白(スペース)がありませんか?
  4. 半角にすることで解決できます
  5. 上のようなことがないのに更新できない
  6. 特に日本語での文字列が入っている場合には全角での文字列があるということでエラーになる場合があります。エラーとして返される行の先頭に空白がある場合には空白をなくすことできちんと認識され更新されるようになることが多いです。

コードを転載する場合には

ご自身のサイトで当ページのコードを転載される場合には必ず当ページへのリンクを入れていただきますようお願いいたします

<変更後のソースコード>
$sql = "SELECT ID, post_content, post_title FROM {$wpdb->posts} WHERE post_status != 'inherit' AND post_type IN ('post','page','カスタム投稿タイプのスラグ') ORDER BY ID ".$orderby;
【注意】コードをコピーして使用する前に必ずお読みください

この記事内にコードが記載されている場合、コードはそのままコピー(いわゆるコピペ)してお使いいただいても構いませんが、以下の件にご留意ください。

使用については自己責任でお願いします

コードの確認は私の管理するサイト、またはテスト環境で問題が起こらなかったものですので、お使いの環境での動作等を保証するものではありません。

万が一このコードを使用してサイトに重篤なトラブルが生じても当サイト、当サイト管理者は一切責任を負いません

コードの変換エラーなどにより動作しない場合、更新エラーが出る場合があります

コードをそのままコピーしても問題なく使えるよう文字列変換を行った上で掲載しておりますが、希に変換できていない場合があり、コードエラーとなることがあります

その場合には以下の方法で修正を行ってみてください

  1. コードの中に全角の記号が入っていませんか?
  2. 半角にすることで解消できます
  3. コードの中に全角の空白(スペース)がありませんか?
  4. 半角にすることで解決できます
  5. 上のようなことがないのに更新できない
  6. 特に日本語での文字列が入っている場合には全角での文字列があるということでエラーになる場合があります。エラーとして返される行の先頭に空白がある場合には空白をなくすことできちんと認識され更新されるようになることが多いです。

コードを転載する場合には

ご自身のサイトで当ページのコードを転載される場合には必ず当ページへのリンクを入れていただきますようお願いいたします

※「カスタム投稿タイプのスラグ」の部分に半角英数字のスラグを入力します(全ての投稿タイプを示す「any」は使えませんでした)
※複数のカスタム投稿タイプがある場合は「,'カスタム投稿タイプのスラグ'」を追加していきます

※その他のファイルも同様のクエリーがありますからソースをよく見て条件追加してください

※この編集に失敗するとプラグインにエラーが発生してサイトの管理画面が開けなくなることがあります。そのような場合には

を参考に復旧させてからやり直してください

【Search Regex】を実際に使ってみた

前述したとおり【Search Regex】はバックエンドでしか見られないものの検索で威力を発揮します。

私の場合はAdrotateという広告をランダム表示するプラグインを使い、phpで投稿本文へ挿入していました。そして、ざっくり言えばあまり効果的でなかったのでこのプラグインを削除しようと思ったのですが・・・削除した途端本文へphpで挿入した記事はエラーになり表示できなくなってしまいました。

慌ててプラグインを再度有効化して表示エラーにはならなくなったのですが・・・さて、どうやってこのコードが含まれているコンテンツを見つけるかと途方にくれました(1000以上あるコンテンツを一つ一つ確認するのか・・・)

このプラグインの場合、広告を削除してしまえばphpは動くけど表示する内容がないから非表示にはなるのですが、気になるのがヘッダー部分に挿入されるCSS。結構な行数があってこれがひょっとするとSEOに影響するかな?という懸念があったので、どうしても削除したかったのです。

そこで見つけたのがこの【Search Regex】。早速インストールして使ってみました。

検索対象は投稿本文にして、Adrotateの内容を挿入するコードに含まれる「adrotate」という文字列で検索

・・・するとたくさんのコンテンツが結果に表示され、無事に編集完了!!

そして再度プラグインを停止してページを表示してみると・・・うんうん大丈夫!!・・・・ン???やっぱりエラーの出るページがある。

よく見てみるとそれはカスタム投稿タイプを使ったコンテンツでした。そうか!!【Search Regex】は「投稿」と「固定ページ」しか検索対象にならないのか。

ということでこれまた前述の「カスタム投稿タイプ」を含めるためのカスタマイズを行いました。

そして無事全部の投稿タイプのコンテンツの編集が完了!!となったわけです。

一括で置き換えてもよかったのですが、やっぱり怖いので今回は1つ1つ修正しました。

プラグイン自体は使う機会以外有効化する必要がありませんから、停止して残してあります。

・・・といった経緯でこの【Search Regex】に助けられました。こんなケースがある人はあまりいないかもしれませんが、参考になれば幸いです。

WordPress5.2以降でエラーメールが届いた時は

多分ずいぶん前からエラーは出ていたのでしょうけど、動作は問題なかったし・・・でもWordpressのバージョン5.2ではメールがバンバン来るようになってしまったので、以下を参考にしてプラグインソースの修正を行ってください。

Wordpressの本

Amazonの人気商品楽天市場の人気商品
CS Shop
たった1日で基本が身に付く! WordPress 超入門【電子書籍】[ 佐々木恵 ]

たった1日で基本が身に付く! WordPress 超入門【電子書籍】[ 佐々木恵 ]

1,944 円 (税込) 送料込
<p>WordPressによるWebサイト作成の基本を一から学べる書籍です。1日8時間の勤務時間内に読むことができる程度に解説内容を絞り込み,初心者・新人が最初の1冊目として読むのにふさわしい内容となっています。本書ではローカル環境にWordPressをインストールしてWebサイト..
サイトの拡張性を飛躍的に高める WordPressプラグイン開発のバイブル【電子書籍】[ 宮内 隆行 ]

サイトの拡張性を飛躍的に高める WordPressプラグイン開発のバイブル【電子書籍】[ 宮内 隆行 ]

3,456 円 (税込) 送料込
<p>プラグインの開発から運用までを網羅</p> <p>※この電子書籍は固定レイアウト型で配信されております。固定レイアウト型は文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。</p> <p>CMSのデファクト・スタン..
楽天ウェブサービスセンター CS Shop

いつでもご相談・サイトカスタマイズの依頼を受け付けています

Wordpressのカスタマイズ、不具合解消のご相談はすべてココナラのダイレクトメッセージからお受けしております。まずはこちらのバナーからお気軽にお問い合わせください。

※一度もココナラを使ったことがない方はココナラへの無料登録が必要です。こちらから登録後、上のリンクをクリックする、またはココナラトップページから「ひまあーと」を検索してお問い合わせください。


【スポンサーリンク】