管理画面上で投稿記事や固定ページ内の文字列を一括置換できるWordPressプラグインSearch Regexで、検索置換の対象にカスタム投稿タイプを含める方法のご紹介です。
Search Regex プラグインのインストール
管理画面のプラグイン新規追加よりSearch Regexを検索するか、以下のページからプラグインファイルをダウンロードします。Search Regex
wp-content/plugins/search-regex/searches/post_content.php のプラグインファイルを直接編集しますので、カスタマイズの前にファイルやデータベースのバックアップを取っておいてください。
検索置換対象にカスタム投稿タイプを追加する
search-regex/searches/post_content.php の10行目に以下のような記述がありますので、
1 |
$posts = $wpdb->get_results ( "SELECT ID, post_content, post_title FROM {$wpdb->posts} WHERE post_status != 'inherit' AND post_type IN ('post','page') ORDER BY ID $orderby" ); |
Search Regexプラグインでは検索置換対象がpost、page(投稿、固定ページ)に制限されており、カスタム投稿タイプには対応していません。
そこで、AND post_type IN (‘post’,’page’)に任意の投稿タイプを追加してあげることで、カスタム投稿タイプの記事を検索置換対象に含めることができます。
1 |
$posts = $wpdb->get_results ( "SELECT ID, post_content, post_title FROM {$wpdb->posts} WHERE post_status != 'inherit' AND post_type IN ('post','page','投稿タイプ1','投稿タイプ2') ORDER BY ID $orderby" ); |
※投稿タイプ1、投稿タイプ2の記述はご利用の環境に合わせて変更してください。
全ての投稿タイプを検索置換対象にする
カスタム投稿タイプを個別に追加するのではなく、AND post_type IN (‘post’,’page’)の記述自体を削除して、すべての投稿タイプを検索置換の対象にするという方法もあります。
1 |
$posts = $wpdb->get_results ( "SELECT ID, post_content, post_title FROM {$wpdb->posts} WHERE post_status != 'inherit' ORDER BY ID $orderby" ); |
コメント