Search Regexは、WordPressの記事本文やタイトルの一括置換ができるプラグインです。
正規表現を使った置換もできるので、とても便利です。
また、デフォルトではタイトルが検索できないバグがあるので、修正方法も紹介します。
目次
Search Regexの使い方
プラグインをインストールしたら、「ツール」 > 「Search Regex」に進みます。
「Source」で検索対象を選択します。以下から選択することができます。
- Comment author コメント投稿者の名前
- Comment author email コメント投稿者のメールアドレス
- Comment author URL コメント投稿者のURLを
- Comment content コメント本文
- Post content: 記事本文
- Post excerpt: 記事の抜粋
- Post meta value: 記事のメタ情報
- Post title: 記事のタイトル
- Post URL: 記事のURL
「Search pattern」に検索文字列、「Replace pattern」に置換後の文字列を入力します。
「Regex」にチェックをつけると、正規表現を使うことができます。
「Search」ボタンで検索、「Replace」ボタンで置換後のプレビュー、「Replace & Save」ボタンで置換の実行ができます。
「Replace」ボタンを押した際の、置換後のプレビュー画面です。内容を確認してから置換を実行できるので、安心して使うことができます。
Search Regexでタイトルが検索できないバグの修正方法
Search Regexは便利なプラグインですが、デフォルトではタイトルが検索できないというバグがあります。
プラグインのソースコードを修正することで、タイトルが検索できるようになります。
プラグイン一覧から、Search Regexの「編集」へ進みます。
Search Regexのプラグインファイル一覧から「search-regex/searches/post_title.php」に進みます。
ソースコードの5行目にある以下のソースコードを、
$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 ) );
以下に変更します。
$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 );
これで、記事のタイトルも検索できるようになります。
ソースコードの修正はこの記事を参考にさせていただきました。
Search Regexのバグ修正でタイトルを検索できるようにする。WordPressのタイトルを一括で置換する | 最適化コンサルタント-Oji