ブロックテーマの作成にプラグイン「CreateBlockTheme」を使用して、テーマを修正し「上書きする」際に、いくつかの勝手な書き替えが起きる現象に頻繁に遭遇しました。
プラグイン「CreateBlockTheme」の便利さについてこのブログに以前に書きましたが、下記現象により現在はあまり使用していません。
なおこれらの書き替え現象は筆者の環境で、「CreateBlockTheme」(バージョン1.6.2)、WordPress6.1.1または6.2で確認できたものであり、異なる環境やバージョンでの再現性については不明です。
作成したテンプレートパーツと同じブロックパターンが勝手に作成され、パーツの内容が書き替わる(WordPress6.2でのパターン挿入時のプレビュー表示に不具合)
※3月27日に公式ディレクトリに登録申請した時点では一部に未対応。
※4月1日から開始しております無料版ダウンロードでは対応済です。
テーマの作成や修正にあたり、テンプレートパーツを作成します。
このとき、たとえば「menu1-4」という名称のテンプレートパーツを作成したときに、「menu-1-4」という名称のブロックパターンが勝手に生成されています。
ファイル名の数字の前後には、勝手に「-」が入っていることに注意。
問題点1
元のテンプレートパーツ(例:「header」)の内容が、コードで記述したたとえば下記のような内容
<!-- wp:html {"lock":{"move":true,"remove":true}} -->
<div id="top"></div><a href="#top" class="pagetop"></a>
<!-- /wp:html -->
(以下、略)
であったとしても、「CreateBlockTheme」でテーマを上書きすると、テンプレートパーツの内容は
<!-- wp:pattern {"slug":"header","theme":"fullsite-patterner","area":"header"} /-->
のように、生成されたブロックパターンを読み込む内容に勝手に書き替わってしまいます。
問題点2
上記のように、テンプレートパーツの記述が、ブロックパターンを読み込む内容になっている場合、WordPress6.1では、エディター画面ではパターンの内容もきちんと表示されていました。
ところがWordPress6.2になったら、テンプレートパーツ中のパターンの内容がエディター画面には表示されず、左側のツリーメニューでも単に「パターン」としか表示されません。(パターン内の構造がわからない)
この場合、そのテンプレートパーツを「テンプレートパーツから切り離す」と、パターン内の構造がツリーに表示され、エディター画面にも内容が表示されます。
対応策:テンプレートパーツにはパターンと同じコードそのものを、「ツール」-「テーマファイルエディター」から書き、プラグイン「CreateBlockTheme」は使わない。
問題点3
上記と同様に、テンプレートパーツの記述が、ブロックパターンを読み込む内容になっている場合、WordPress6.2になったら、そのテンプレートパーツを含むブロックパターンを、エディター画面で左側メニューから挿入しようとしたときに、テンプレートパーツの内容であるパターンがプレビュー表示されません。
(WordPress6.1では表示されていました)
対応策:上記と同じ。
問題点4
元のテンプレートパーツファイル名に数字が入っている場合、たとえば「menu1-4」が、勝手に生成されるブロックパターンでは「menu-1-4」になってしまいます。
対応策:内容が同じテンプレートパーツとブロックパターンを作成する場合には、テンプレートパーツのファイル名は、数字の前後に最初から「ー」を入れておかないと、混乱の元になります。
パターン内のURLが勝手にエスケープURLに書き換えられる現象
ブロックテーマの作成にプラグイン「CreateBlockTheme」を使用して、テーマを修正し「上書きする」際に、例えば画像URLが、元のパターンでは
<img src="<https://full-site-patterner.com/img/menu1.jpg" alt=""/>
であった場合でも、
<img src="<?php echo esc_url( get_stylesheet_directory_uri() ); ?>/assets/img/menu1.jpg" alt=""/>
のように勝手に書き替わってしまいます。
その意図は理解できなくもないのですが、テーマディレクトリ内のフォルダにアクセスされたくない場合や、あえて別の特定ディレクトリ内の画像を読み込ませたい場合に、困ります。
きちんと表示されていたブロックパターンが、サイトの上書きをしただけで、画像などが適切に表示されなくなってしまう、しかも数多くのパターンでそうなってしまう現象には悩まされました。
対応策:現状でプラグイン「CreateBlockTheme」はほとんど使用せず、「ツール」-「テーマファイルエディター」でパターンを編集するか、ローカルでファイルをテキストエディタで編集しています。
WordPress6.2のエディター画面のリロード、または更新で、カスタムhtmlに一定条件で勝手にpタグが挿入される現象(pタグのスタイルによっては表示が崩れる)
※3月27日に公式ディレクトリに登録申請した時点では未対応。
※無料版ダウンロードでは4月3日19時に対応済です。
WordPress6.2になってから、エディター画面でテンプレートをリロードまたは更新したときに、カスタムhtmlブロックに勝手にpタグが挿入される現象が見られます。
筆者が経験しているのは、aタグ、buttonタグで、勝手にpタグで囲まれてしまいます。
pタグ内にあるべきと判断されたタグにこの現象が起きるものと推測していますが、pタグにmarginやpadding等のスタイルが設定されているときに、単に画面をリロード、またはテンプレート更新をしただけで、表示が崩れてしまいます。
対応策:pタグが勝手に挿入され囲まれてしまう部分には、あらかじめdivタグを入れて囲んでおけば、リロードまたは更新をしても勝手に書き替えられないことを確認しています。