【2020年最新版】Search Regexの使い方・エラー解除を徹底解説!

  • 2020年6月25日
  • 2020年7月12日
  • WordPress

WordPressでのコンテンツ作成する際に、複数の記事内の文字列を検索したり一括置換したい場面がよくあると思います。

そんな時に使えるプラグインが「Search Regex」です。

「Search Regex」を使うと簡単に指定した文章や単語を検索し、一括置換を行うことができます。

また、2020年5月に5年半ぶりに更新が行われ、これまでの不具合解消や新たな機能が追加されました。

そこで本記事ではSearch Regexの使い方をはじめ、エラー解除・正規表現・カスタム投稿・改行の文章の置換などについて画像を交えて解説していきます。

Search Regexのエラーまとめ

過去のSearch Regexの主なエラーとして以下のような問題がありました。

  • 「サイトで技術的な問題が発生しています」という警告のメールが届く
  • 置換が行えない

これらのエラーに関して、それぞれの解決方法を解説していきます。

サイトで技術的な問題が発生しています

WordPress Ver.5.2.2以降でSearch Regexを使うと「サイトで技術的な問題が発生しています」というメールが届く問題がありました。

エラーメールが届いた場合、サイト内を確認してどこにも問題はなくても、自分のわからない部分で何か問題が起きているのではないか不安になりますよね。

そのままにしておいても実質的に大きな問題はありませんが、プラグインのPHPファイルを編集するとエラーを解決することができますよ。

また、2020年5月に更新された「Search Regex Ver2.0」の登場により、こちらのエラーメール問題は解消されています。

PHPファイルを編集

先ほども説明した通り、プラグインのPHPファイルにコードを追記することでエラーを解消することができます。

PHPファイルとは、サーバー内での動きを指示するプログラミング言語です。

まずエラーメール内のエラー詳細で、エラー箇所の行数を確認します。

エラータイプ E_ERROR が /home/sample/sample.com/public_html/wp-content/plugins/search-regex/view/results.php ファイルの 26 行目で発生しました。

Search RegexのPHPファイルで該当箇所を確認すると以下のように表示されていました。

<img src=”<?php echo plugins_url( ‘/images/small.gif’, $this->base_url() ); ?>” style=”display: none” alt=”pre”/>

$this->base_url() 」の箇所がきちんと定義されていないことがエラーの原因です。

このエラーを解消するには「view/results.php」を編集していきます。

「search-regex.php」を編集することでもエラーメールが解消されるので、その方法も後ほど紹介します。

PHPファイルは書き換える前に、念のためコードを全選択してコピーするなどバックアップを取っておきましょう。

プラグインのPHPファイルの確認・編集は、ダッシュボードのプラグインの中の「プラグインエディター」で行えます。

右上の「編集するプラグインを選択」で「Search Regex」を選んで「選択」のボタンをを押します。

すると、「search-regex/search-regex.php の編集 (使用中)」と表示され、Search RegexのPHPファイルが表示されます。

そして、右側のバーから「view」を開き、「results.php」を選択します。

すると、「search-regex/sview/results.php の編集 (使用中)」と表示されます。

26行目にある「$this->base_url() 」を「 dirname(__FILE__) 」に変更してください。

変更前
<img src=”<?php echo plugins_url( ‘/images/small.gif’, $this->base_url() ); ?>” style=”display: none” alt=”pre”/>

変更後
<img src=”<?php echo plugins_url( ‘/images/small.gif’, dirname(__FILE__) ); ?>” style=”display: none” alt=”pre”/>

これで完了です。

次に「search-regex.php」を編集する方法を紹介します。

まず、右側のバーで「search-regex.php」を選択してください。

「search-regex/search-regex.php の編集 (使用中)」と表示されたら、PHPファイルの139行目の

<?php
}

の下に以下の追記コードをコピーして入れてください。

function base_url() {
return __FILE__;
}

コードを入れるとこのようになります。

<?php
}
function base_url() {
return __FILE__;
}
}if ( is_admin() ) {
add_action( ‘init’, array( ‘SearchRegex’, ‘init’ ) );
}

これで完了です。

プラグインを更新

2020年5月、5年半ぶりにSearch Regexが更新されました。

それにより、以上で説明したメールエラーは解決しています。

もしSearch Regexの更新をしていない場合は、更新することでエラーを解消することができます。

プラグインの更新は、左のバーで「プラグイン」を選択し、Search Regexの「更新」をクリックするだけです。

「バージョン 2.1 の詳細を表示」を押すと更新の詳細が確認できます。

もし、現在使っているテーマがバージョンに対応していなければ、更新を見送るしかありません。

ちなみに、WordPressのテーマ「JIN」は「Search Regex」のバージョン 2.1に対応していませんでした。

置換できない

一括置換する際、稀に「置換できない」とされる場合があります。

置換できない主な原因は以下の2つです。

  1. 文字・文章の入力ミス
  2. サーバーのデータ量制限

それぞれの問題点や解決方法について説明していきます。

文字・文章の入力ミス

単純に文字列や文章の入力ミスで置換できない場合あります。

まずは入力ミスがないかもう1度確認して、再度一括置換してみて下さい。

データ量の制限

置換対象が多い時は同時にデータ量も多くなるため、サーバーで設定している制限に引っかかることがあります。

サーバー側の上限を上げることで通常通り一括置換が可能になるので、その制限解除方法をエックスサーバーを元に解説していきます。

まず、エックスサーバーにログインし、サーバーパネル画面でPHPの項目の「php.ini設定」を選択してください。

次に、ドメインを選択します。

「php.ini設定変更」のタブを選択し、「memory_limit」という項目が初期設定だと「200M」や「256M」になっているので数値を上げることで一括置換が可能となります。

特にこの数値がいいというものはありませんが、「1000M」くらいまで上げておくと何度もやり直す必要がないでしょう。

数値変更後は、「確認画面へ進む」を押して数値が上がっていることを確認したら、「変更する」を押すと完了です。

置換作業が終わったら、「memory_limit」の数値は元に戻して下さい。

そのままの数値で続けると誤って大きなファイルをアップロードしてしまう可能性があります。

リスクを回避のため置換作業後「memory_limit」の数値は元に戻すことを忘れずに。

 

Search Regexの各項目解説

先に述べたように、Search Regexは一括置換、文字列や文章の検索する際に使用するプラグインです。

ここからは実際にSearch Regexの機能と使い方について紹介していきます。

検索(Search)

検索(Search)には、検索したい文字列や文章を赤枠のバーに入力します。

入力後に検索ボタンを押すと、その文字列がヒットした件数や記事が表示されます。

フラグを検索(Search Flags)

フラグを検索(Search Flags)では、「大文字と小文字を区別しない」というような検索する際の条件を選択できます。

置換(Replace)

「検索(Search)」で検索した文字列に置換したい文字列を赤枠のバーに入力します。

ソース(Source)

ソース(Source)では、検索したい場所を指定し選択することができます。

例えば、「投稿」や「固定ページ」などや、設定すれば「コメント」も検索することができます。

結果(Results)

検索結果を1ページごとに何件表示するかを選択することができます。

ここまでは、「Seach Regex」の検索するときの項目についてご説明しました。

次からは、検索した後に表示される項目についてご説明します。

同じ名前があるので、混同しないようにご注意ください。

ソース(Source)

ここからは、検索後に表示される項目を説明をしていきます。

「ソース」は、検索した文字列や文章がどこの対象で見つかったか表示されます。

投稿内の場合は「投稿」、固定ページ内の場合は「固定ページ」と表示されます。

行の ID(Row ID)

行の ID(Row ID)は、検索した文字列や文章が何行目で見つかったかが表示されます。

一致(Matches)

一致(Matches)は、そのソース内で検索した文字列や文章が該当する件数が表示されます。

一致するフレーズ(Matched Phrases)

一致するフレーズ(Matched Phrases)は、実際のソース内の検索した文字列や文章が該当する部分を確認することができます。

操作(Actions)

操作(Actions)では、その文字列や文章がヒットした記事で置換や編集などを記事ごとに行うことができます。

操作(Actions)には4つの機能

  • Replace row
  • Edit page
  • Inline Editor
  • Delete low

があるので、それぞれの意味と使い方を説明していきます。

Replace row

Replace rowは「置き換える」という意味です。

「Replace row」を押すと文字列や文章を入力するボックスが表示され、入力して「置換」を押すとその記事にあった検索対象の文字列や文章が置換されます。

Edit page

Edit pageは、「ページを編集」という意味です。

押すと、記事の編集ページに飛びます。

Inline Editor

Inline Editorでは、編集ページに飛ばずとも本文の編集ができる機能です。

変更したい内容を修正したら「保存」を押して修正完了です。

Delete low

Delete lowは、「削除」という意味です。

押すと対象の記事自体が削除されます。

 

Search Regexの使い方【基本編】

ここからは実際にSearch Regexの基本的な使い方について説明していきます。

先ほど説明したように、検索バーに検索したいテキストを入力し「検索」を押すと該当するものが表示されます。

次に置換バーに置換テキストを入力すると、「一致するフレーズ」で置換後の表示を見ることができます。

検索テキストと置換テキスト、さらに自分が指定したソースやフラグに間違いないか確認し「全て置換する」をクリックします。

※「全て置換する」を押すとすぐ一括置換が実行されるので、検索テキストや置換テキストが間違いないか確認した上でクリックして下さい。

「完了しました!」と表示されれば、一括置換が完了です。

また、文字列を削除する時は置換バーに「スペース」を入力することで削除できることも可能です。

一括削除したい文字列や文章がある場合は以上の使い方を活用してみて下さい。

バグなのかもしれませんが、検索を実行した時に表示される「%」が動かない場合や100%を超えることがあります。

その場合でも置換が完了していることがあるので、少し時間を置いて「%」が動かなくなった時に、再度検索して確かめてみてください。

また、一度に全てを置換できないこともあるので、その時は面倒でも複数回に分けて置換すると良いでしょう。

 

Search Regexの使い方【応用編】

次に応用編の使い方として

  1. 正規表現
  2. カスタム投稿
  3. 改行

の3つの方法について解説していきます。

正規表現

正規表現を使えばhtmlタグを変換することが可能です。

例えば<h3>文章</h3>のh3のタグをh2に置換したい時、h3の開始タグと閉じタグをどちらも置換する必要があります。

  1. 開始タグ
  2. 閉じタグ

の順で一括置換をすれば問題ないように見えますが、閉じタグが重複している場合単純な一括置換でも文字列が崩れてしまう可能性があります。

そのためh3の開始タグと閉じタグを一気に置換する必要がありますが、それがSearch Regexの正規表現を使って変換することが可能です。

それでは実際に正規表現の使い方を説明していきます。

検索バーに「<div style=”margin-bottom: 30px” align=”center”>(.*)</div>」のように検索したいテキストを入力し、検索フラグで「正規表現」にチェックを入れた上で検索をクリックします。

置換したいテキストを置換バーに「$1」のように入力すると、開始タグと閉じタグ両方が選択されているか確認します。

検索テキストや置換テキストを確認して間違いなければ、「全て置換する」をクリックします。

これで「<h3>」「</h3>」の両方のhtmlタグを変換することができました。

カスタム投稿

次にSearch Regexの検索対象にカスタム投稿を含める方法を説明していきます。

カスタム投稿を含めるにはSearch RegexのプラグインのPHPファイルを編集する必要があります。

PHPファイルは書き換える前に、念のためコードを全選択してコピーするなどバックアップを取っておきましょう。

まず、ダッシュボード画面で「プラグイン」→「プラグインエディター」を選択します。

右上のボックスで「Search Regex」を選択して「searches」の中にある「post_content.php」をクリックします。

「search-regex/searches/post_content.php」の10行目に以下のような記述があります。

【修正前】
$sql = “SELECT ID, post_content, post_title FROM {$wpdb->posts} WHERE post_status != ‘inherit’ AND post_type IN (‘post’,’page’) ORDER BY ID “.$orderby;

この中で「AND post_type IN (‘post’,’page’)」を消してファイルを更新を押すと、カスタム投稿も置換をかけることができるようになります。

【修正後】
$sql = “SELECT ID, post_content, post_title FROM {$wpdb->posts} WHERE post_status != ‘inherit’ ORDER BY ID “.$orderby;

改行

検索した対象が改行を含んでいる場合、検索しても該当欄に表示されないようになっています。

改行を含んでいる対象も検索にヒットさせる場合は「改行前\s\n改行後」で検索する必要があります。

例えば、以下のような文章の場合は「あいうえお\s\nかきくけこ」と記載します。

あいうえお
かきくけこ

検索バーに「あいうえお\s\nかきくけこ」と入力し、フラグを検索の部分で「正規表現」の項目にチェックを入れて検索をクリックします。

すると、検索結果の見た目では改行部分が矢印で表示されます。

そして改行した文章に置換したい場合は、置換の右側にあるボックスで「複数」を選択してください。

すると、置換する文章が改行で入力できるようになります。

そのあとは通常通り、「全て置換する」を押すと完了です。

 

Search Regexの注意点

Search Regexの大きな注意点の1つとして、一度置換してしまったものは元に戻せないという点があります。

そのため1度大量に変換してしまうと再度Search Regexを使ってももとに戻せない場合があるので、必ずバックアップをしてから作業するようにしてください。

バックアップの方法については、手動で行う方法とプラグインを使ったバックアップ方法がありますが、プラグインでのバックアップが簡単でおすすめです。

今回使うプラグインは、「BackWPup」。

「BackWPup」バックアップのやり方の順番

  1. 「BackWPup」をインストール
  2. バックアップのジョブを作成する
  3. 作成したジョブを実行する

まず、プラグインの新規追加をクリックします。

BackWPupを検索し、BackWPup の今すぐインストールをクリックして、有効化したら、下準備は完了です。

サイドバーの BackWPup にある新規ジョブを追加を、クリックします。

一番左にある「一般」を指定し、任意でジョブの名前を決定。

ジョブの名前は何でもいいのですが、わかりやすいものにしておくといいでしょう。

また、以下の箇所にチェックが入っているかどうかを確認します。

  • データベースのバックアップ
  • ファイルのバックアップ
  • インストール済みプラグイン一覧

上記にチェックが入っていることを確認したら下にスクロールします。

スクロールしていくと「バックアップファイルの保存方法」があるので、Dropboxにバックアップを選択します。

「一般」タグの設定は以上で、残りは初期設定のままで構いません。

次はバックアップのスケジュール設定です。

画面の上の「一般」タグの隣に「スケジュール」タグがあるので、「ジョブの開始方法」にある「WordPressのcron」を選択します。

すると「実行時間をスケジュール」と表示されるので、実行時間を設定しましょう。

デフォルトの設定は3時になっているので、こだわりがなければそのままで構いません。

「DBバックアップ」と「ファイル」のタグはそのままデフォルトの設定でOK。

最後は、「宛先:Dropbox」の設定です。

最初は赤字で「認証されていません!」と表示されています。

DropBoxアカウントを持ってない場合は、「アカウントを作成」をクリックすると、Dropboxの登録画面に飛ぶため、Dropboxの登録を行いましょう。

Dropboxは、「または Dropbox Basic プラン(2GB)を継続」を選択すると無料で利用可能です。

Dropbox のアプリ認証コードを取得をクリックすると、Dropboxのサイトに移動します。

許可を押すと認証コードが表示されます。

表示された認証コードをコピーして「認証コードの取得」の隣にある空欄に貼り付けましょう。

Dropbox フル認証コードを取得も同様にをクリックして、取得したコードを貼り付けます。

その下にある保存先フォルダーは好きな名前に設定して構いませんが、サイトのドメイン名に設定しておくとわかりやすいですよ。

ファイルを削除の数字は初期設定のままでOKです。

最後に「変更を保存」をクリックすれば設定は完了です。

認証の項目が緑色で「認証済み!」となることを確認しましょう。

さらに、「今すぐ実行」を押して動作確認をしておくと安心です。

 

まとめ

以上、本記事はSearch Regexの使い方、エラー解除・正規表現・カスタム投稿・改行などについて解説しました。

コンテンツ作成において大規模な修正作業で大量の置換が必要な場面があると思います。

そんな時Search Regexのプラグインがあれば、以上で説明したように簡単に対象を検索し一括置換することが可能です。

Search Regexの注意点を踏まえた上で、自分なりに上手く活用してみて下さい。

 
最新情報をチェックしよう!