【WordPress】【Search Regex】カスタム投稿タイプを一括置換する

問題

カスタム投稿タイプの記事を一括置換したい。

一括置換にはSearch Regexが定番だが、カスタム投稿タイプには対応していない。

そこでSearch Regexをカスタマイズして、カスタム投稿タイプの記事を一括置換できるようにする。

手順

Search Regexのカスタマイズ

プラグインのプラグインエディターから、エディタ画面を開く。

【WordPress】【Search Regex】カスタム投稿タイプを一括置換する - 【WordPress】【Search Regex】カスタム投稿タイプを一括置換する
プラグインエディタ画面

検索するプラグインにSearch Regexを選び、選択ボタンを押す。

編集箇所の7行目は以下のようになっている。

		$sql = "SELECT ID, post_content, post_title FROM {$wpdb->posts} WHERE post_status != 'inherit' AND post_type IN ('post','page') ORDER BY ID ".$orderby;

カスタム投稿タイプのみ一括置換したいのであれば、以下のようにする。カスタム投稿タイプは、仮にmodernthemesのportfolioテーマのworkとする。

		$sql = "SELECT ID, post_content, post_title FROM {$wpdb->posts} WHERE post_status != 'inherit' AND post_type IN ('work') ORDER BY ID ".$orderby;

記事と固定ページも置換したいのであれば、以下のようにする。

		$sql = "SELECT ID, post_content, post_title FROM {$wpdb->posts} WHERE post_status != 'inherit' AND post_type IN ('post','page','work') ORDER BY ID ".$orderby;

Search Regexの使い方

Post Contentを選択すると、カスタム投稿タイプが対象になるよう変更されている。

以下は、カスタム投稿タイプの記事の先頭と末尾にショートコードを追加する例。

【WordPress】【Search Regex】カスタム投稿タイプを一括置換する - 【WordPress】【Search Regex】カスタム投稿タイプを一括置換する
Search Regexの一括置換画面

Search pattern

/^(.*)$/

Replace pattern

[su_animate type="fadeInUp" duration="2" delay="0.5"]$1[/su_animate]

コメントを残す

メールアドレスが公開されることはありません。