wp-cliでWordPress大量の投稿記事を一括非公開にする方法 でWordPress投稿記事の一括非公開を実施した際、クライアントから「区別できるように、非公開にした記事タイトル冒頭に【非公開】と追加して付けてください」との依頼を受けました。
awkやxargsコマンドを組み合わせて使えばwp-cli上で実現できるのかもしれませんが、うまく処理できなかったためWordPress管理画面からSearch Regexプラグインを利用して記事タイトルに一括でテキストを追加することにしました。
今回はSearch Regexプラグインを記事タイトルの追加として利用しましたが、他にも例えば「該当する記事本文の特定箇所を一括変更、一括削除、一括追加」などの処理ができそうです。
目次:
wp-cliで一時的に対象記事に特定の属性をつける
Search Regexプラグイン実施の前処理として、wp-cliで対象記事に特定の属性をつけることにします。
Search Regexのフィルタで対象記事のみ絞り込まれるようにする
Search Regexでうまくフィルタリングをかけさせるために、「非公開処理させたい記事」に一時的に特定の属性をつけてやります。
これは後に「その絞り込んだ属性の記事すべてのタイトル冒頭に指定したテキストを追加する」という処理をさせたいための前処理です。
設定できる属性は ツール > Search Regex > Filters の横から選べる項目になります。
私の場合はゴミ箱が0の状態だったため、「投稿状態」を一時的に「ゴミ箱」にし、Search Regexでタイトルに一括追加処理をすることにしました。
その後、再び投稿状態を非公開へと戻します。
他にも「投稿者」属性について、何も記事投稿していない投稿者に設定して絞り込む方法などが考えられます。
wp-cliで記事を一括して一時的にゴミ箱へ移動
SSH接続させた後、下記コマンドを実行してIDにより複数指定した対象記事を一括してゴミ箱へ移動させます。
$ wp post update 115468 115233 ...... 833 \
--post_status=trash
コマンドおよびID取得方法の参考: wp-cliでWordPress大量の投稿記事を一括非公開にする方法
参考: エックスサーバー上のWordPressにwp-cliを導入する
コマンド実行後、WordPress管理画面より 投稿 > 投稿一覧 > ゴミ箱 を見ると、iD指定した記事がゴミ箱に入っていることが確認できます。
Search Regexプラグインでタイトル冒頭にテキストを追加
ツール > Seawrch Regex へ。
Search Regexでフィルタリング、正規表現による置換
Search Regexのフィルタで対象記事へ絞り込み、正規表現によりタイトル冒頭の位置を指定。 追加するテキストを置換処理によって追加します。
処理設定は下記の画像のようにします。
PresetとSource:投稿「コア&カスタム」の項目はそのまま。
フィルタによって先ほどゴミ箱へ移動させた記事のみが対象となるようにフィルタリングをかけます。
Filters > 投稿状態 ; includes any ; 投稿状態: trash
続くSearchの項目は空白のまま。
Actionを”Modify Matches”に選択。
Source: 投稿(コア&カスタム)のまま、 Column: タイトル にして”Add”をクリック。
表れた「タイトル」の項目で、Set Valueを”Replace”に選択。 つづくSearchに ^ を、Replaceに”【非公開】” (追加したいタイトル)を入力します。 Flags: “Regular Expression”を指定して Regex と表示されるようにします。
Resultsの項目はそのまま。
Searchボタンをクリックして置換実施後の内容を確認した後に実行
設定後、左下の”Search”ボタンをクリックすると置換を実行した後の内容を実行前に確認することができます。
Matched Content列のうち、青い文字部分が実行前のタイトル、その下の行のタイトルのうち、オレンジ色で網掛けされた部分が追加(置換による変更)されるテキストになります。
内容に問題がなければ、”Replace All”ボタンをクリックして、実際に置換処理を実行させましょう。
wp-cliで一時的に付与した属性を戻して完了
Search Regexによる処理が完了したら、投稿 > 投稿一覧から無事に指定した処理がなされているか確認します。
その後、最初につけた一時的な属性をwp-cliで外してやります。
私の場合は、該当記事を全てゴミ箱へ移動させたので、投稿状態を「非公開」へと戻します。
$ wp post update 115468 115233 ...... 833 \
--post_status=private
これで完了。お疲れ様でした。
成果をだすWebサイト制作、企画・戦略から伴走するWeb制作を実施しています
成果をだすWebサイト制作、企画・戦略から伴走するWeb制作を実施しています。 SEOを意識した制作や、制作後の運用・成果を見据えたWebサイトづくりが得意です。
🍀 Webサイト制作とSEOの専門家 - Marketing Wizard
上リンクには私のプロフィール・実績を掲載しています。ご確認のうえ、お気軽にご相談ください。
この記事の気になった箇所を読み返す:
Category: WordPress
Tags: WordPress