arkhe無料で使ってみたら、イイ感じだった。
でも、arkhe tool kitとかarkhe blocks Proとか購入してみたけど、やっぱりSWELLの方が断然使いやすいよね!という人は多いと思います。
arkheで作ったサイトのテーマをSWELLに変更すると、arkheの専用ブロックが全く表示されなくなります。
ひとつひとつの記事を編集モードで開いて、いちいちブロックを削除して、SWELLブロックに置き換えるのは手間です。
実は、記事内のブロックはテキストでブロックが置いてあるだけなので、そのテキストを置換してSWELLのブロックに置き換えると、ブロックエディタでポチポチ作業せずに済みます。
この記事では、ブロックエディタで使用できなくなったブロックをテキスト置換で置き換える方法をお伝えします。
arkheからSWELLに移行してブロックが表示されない問題の解決方法
arkheのブログカードをSWELLブロックに置き換える
まず、ブロックエディタを『コードエディター』に切り替えます。
そうすると、arkheブロックのテキストが確認できると思います。
arkheブログカード
<!-- wp:arkhe-blocks/blog-card {"externalUrl":"https://ja.wordpress.org/plugins/display-posts-shortcode/"} /-->
SWELLのブログカードは、こんな感じのテキストになっています。
SWELLブログカード
<!-- wp:loos/post-link {"externalUrl":"https://ja.wordpress.org/plugins/display-posts-shortcode/"} /-->
arkheのブログカードをSWELLブロックに置換する手順
arkheのブログカードをSWELLのブログカードに置き換えるには、プラグインで一括置換してあげればよいです。
Search Regexを使うと簡単です。

- 置換前
wp:arkhe-blocks/blog-card
- 置換後
wp:loos/post-link

複雑な置換条件の場合は正規表現を用いる
データベース内のテキストを単純に置換するだけなら、無料プラグインでも対応できます。
しかし、データベース内部のテキスト置換で正規表現が使えるものとなると限られてきます。
SearchRegexは無料で正規表現が使えるのですが、動作が不安定です。
有料プラグインで正規表現が使えるものがあるのかもしれませんが、買い切りのものは無いと思いますので、無料で済ます方が安心です。
wp cli
を使うとDB内部の置換を正規表現を使って置換することができます。
まとめ:arkheからSWELLに移行してブロックが表示されない問題の解決方法
今回ご紹介した手法は、他のテーマから移行する時にも使える便利な方法です。
ブロックエディタで配置したブロックをテキストの置換で置き換えられるのは意外と知らない人が多いと思います。
SWELLは他のテーマから移行する時に便利なプラグインを用意していますが、そのプラグインを有効化してチマチマ手で置き換えていくのは現実的ではないでしょう。
簡単な置換で対応できる場合は、一括で置換する方が幸せになれます。
コメント