WordPressでの商品管理、以前はRinkerを最近はポチップに切り替えています。
Rinkerからポチップへの切り替え用のプラグインポチリンは1クリックでブロックを変換できる便利なサービスですが、投稿記事と固定記事限定の変換になります。
そこでSWELLのブログパーツにもRikerを張っていましたので、こちらもポチップに変換できるようにカスタマイズしてみました。
SWELLのブログパーツのRinkerをポチップに変換する方法
以下は2022年の非公式カスタマイズの記録です。現在のポチリンで同じ箇所を変更すれば動作するとは限りません。
対象の投稿タイプを絞る例ですが、商品データなど別の書き込みまで制限できるかは未検証です。既に変換した本番サイトへ、そのまま繰り返し実行しないでください。
ポチリンのコードの改変
まず検証環境へデータを複製し、データベースとプラグインの元ファイルを保存します。
converter.phpを選択しましょう。

当時のconverter.phpでは、変換対象を取得するクエリのpost_typeを下記のように変更しました。行番号は版によって変わるため、138行目を無条件に置換しないでください。
'post_type' => ['blog_parts' ],
ポチリンの実行
コードを変更し終えたら、WordPressの管理画面の左メニューにあるポチリンにアクセス。
RikerからPochippへデータを変換するボタンを押して実行しましょう。
確認してみるとSWELLのブログパーツ内のRikerがポチップのブロックに変換されていました。

最後にコードを元に戻す
変更前に保存した同じバージョンのファイルへ戻します。元の値を確認せずanyへ変更すると対象が広がる可能性があります。ファイルを戻しても変換済みデータは戻らないため、失敗時はバックアップから復元します。
// 保存しておいた変更前の同一バージョンのファイルへ戻す。変換が終えてもう使わない場合はプラグインを停止してしまってもOKです。
もし変換が失敗していたら?
下の正規表現はポチップのブロック候補を検索するためのもので、正常なブロックにも一致します。失敗判定には使えません。検索だけにとどめ、各pidに対応する商品と公開表示を確認します。置換・一括削除は行いません。
<!--\s+wp:pochipp/linkbox\b[^>]*?/-->まとめ
ポチッププロに全面移行するにあたって、このポチリンでのRikerからポチップの変換作業を使わせていただきました。
注意して欲しいのがあくまでブロックの変換だけなので、古い商品情報は新しい商品情報を修正する必要がある場合もあります。
変換後もしっかり確認しましょう。



