プラグイン

【WP】記事内の文字を一括置換え出来るSearch Regex使い方

searchregex

今回は、WordPress内の過去に書いた記事内本文の文字列を一括検索をし置換え出来るプラグインです

例えば、置き換えする文字列やURLが、数十記事もあったら、修正する作業だけでも大変ですし、時間も取られてしまします。
そんな時にこちらのプラグインを利用すれば、一括でも修正したい箇所の文字列やURLなども置き換えなどが出来ます。
また、使い方によっては、HTMLタグの置き換えにも使えますので、意外と便利です。

Search Regexのインストール

まずこちらのプラグインを利用するために、【Search Regex】をインストールしていきたいと思います。

1

まずは、管理画面から プラグイン > 新規追加で【Search Regex】と入力し検索します。

検索をしますと上記画像のように【Search Regex】プラグインが検索結果として表示されますので、【今すぐインストール】をクリックして下さい。

インストール後は、プラグインの有効を忘れないようにして下さい。 また、ご自身でプラグインをダウンロードしてFTPなどでアップロードされる場合は、こちらからダウンロードして下さい。

Search Regex使い方

プラグインを有効にしたら管理画面より ツール > Search Regexのページで、検索・置換えを行っていきます。

2

使い方基本的にシンプルで、Sourceで検索範囲を決め、Search patternで検索対象文字列を入力しReplace patternで置換え後の文字列を入力するという形ですね。

各項目の簡単な説明もしておきます。

Source

この項目で、検索対象の範囲を選択します。

  • Comment author : コメントの投稿者
  • Comment autor email : コメント投稿者のメールアドレス
  • Comment author URL : コメント投稿者のURL
  • Comment content : コメント本文
  • Post content : 記事内本文
  • Post excerpt : 抜粋
  • Post meta value : カスタムフィールド
  • Post title : 記事のタイトル
  • Post URL : 記事のURL

Limit to

こちらは、検索結果後の表示件数を選択します。
No limetでは、全ての検索結果を表示します。

Order By

この項目は、検索結果の表示順を昇順・降順で選択出来ます。

  • Ascendeng : 昇順
  • Descndeng : 降順

Search pattern

こちらの入力項目で、検索対象文字列を入力をします。

Replace pattern

こちらの入力項目で、検索対象文字列を置き換えする文字列入力をします。

Regex

正規表現の有無のチェックです。

検索・置換えボタン

  • Search : 検索結果を表示し確認
  • Replace : 検索結果を表示し置換え後の文字列のデータを確認
  • Replace & Save : 一括で検索文字列を置換え文字列に変更し保存

※Replace & Saveをしてしまいますと、一括で置換えしてしまいますので、出来ればバックアップなどをしてから行ったほうがいいと思います。

実際に使ってみた

今回は、【GLOW-FACTORY】の文字列こちらの【Glow-Factory】に変更してみました。

4

今回は、お試し感覚でわざと1つの記事に【GLOW-FACTORY】の文字を記述していますので、1つしか検索結果が出ていないですが、通常ならばもっと表示はされます。

また、検索結果に表示されている記事データの右側にある【replace】をクリックでも置換えが出来ますので、1つ1つ置き換え後の結果を確認しながらも出来ます。

Post titleが表示されない

こちらのプラグインを利用してみたのですが、検索範囲を選択する【Post title】の記事タイトルで特定の文字列を検索してみても、結果が全く表示されない不都合があったんです。

解決策などを調べてみると、プラグイン側のファイルを修正する必要があるようです。
下記サイトが大変参考になりました。

プラグイン側のsearch-regex/serches/post_title.phpの5行目から26行目のfunction findを下記の修正後のコードに書き換えます。

修正前

function find ($pattern, $limit, $offset, $orderby)
{
    global $wpdb;
    $results = array ();
    $posts   = $wpdb->get_results ($wpdb->prepare( "SELECT ID, post_title FROM {$wpdb->posts} WHERE post_status != 'inherit' ORDER BY ID $orderby LIMIT %d,%d", $offset,$limit ) );
    if (count ($posts) > 0)
    {
        foreach ($posts AS $post)
        {
            if (($matches = $this->matches ($pattern, $post->post_title, $post->ID)))
            {
                foreach ($matches AS $match)
                    $match->title = $post->post_title;
                $results = array_merge ($results, $matches);
            }
        }
    }
    return $results;
}

修正後

function find ($pattern, $limit, $offset, $orderby)
{
    global $wpdb;
    $results = array ();
    $posts   = $wpdb->get_results ($wpdb->prepare( "SELECT ID, post_content, post_title FROM {$wpdb->posts} WHERE post_status != 'inherit' ORDER BY ID $orderby" ) );
    if ( $limit > 0 )
        $sql .= $wpdb->prepare( " LIMIT %d,%d", $offset, $limit );
    if (count ($posts) > 0)
    {
        foreach ($posts AS $post)
        {
            if (($matches = $this->matches ($pattern, $post->post_title, $post->ID)))
            {
                foreach ($matches AS $match)
                    $match->title = $post->post_title;
                $results = array_merge ($results, $matches);
            }
        }
    }
    return $results;
}

こちらの記事をシェアする

こちらの記事があなたのお役にたちましたら、シェアしていただけますと大変嬉しく今後のブログ更新の糧となりますのでどうぞよろしくお願いします。(^^♪

About

Glow-Facotryでは、無料・有料のWPテーマを配布・販売サイトです。また、Web関連やWPの記事・日常的(ゲームも)なことをブログを利用して発信して行きたいと思っております。
よかったら下記のフォローをお気軽にお願いします。

関連記事

コメント

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

PREVIOUS sidr

jQueryプラグイン【Sidr】使い方 レスポンシブメニューも簡単に実装

最新の記事です