6.4.3→6.5へ更新したら、段落ブロックへインラインでショートコードが挿入できなくなった?対処方法は?

公開日:2024(令和6)年4月21日/最終更新日:

WordPress Trouble Shooting and Repair | Personal WP Customization Notes (PWCN)

【景品表示法に基づく表記】ページ内のコンテンツには、商品プロモーションが含まれています



ブロックエディターが登場した当初から、段落ブロックの冒頭へショートコードを挿入すると、自動でショートコードブロックに変換されるという機能は備わっていました。

そして、WordPress6.4.3までは、そのショートコードを段落ブロックの文章の中へコピーすると、そのままコピーでき、ショートコードも問題なく動作していました。

以下が6.4.3の時点での動画です。

しかしこれが6.5になると...、何が何でもショートコードブロックになるようになったようです。

以下が6.5で同じことをした時の動作です。

ショートコードブロックからのコピーだからだめなのかと、一旦テキストエディターなどに貼り付けてから再度コピーを試すも同じ現象でした。

Shortcode aren’t paste inline in paragraphs」でこの問題について提起されているようですが、[ha-mdata]現在では特に反応もない状況です。

これが仕様(というか、WordPressが利用しているGutenbergの仕様変更)ならば仕方ないと言いたいところですが、この状態だと改行(段落タグ)が入ってしまうので、インラインでは出力できないから困ってしまいますね。

恐らく「これはショートコードだな!ショートコードならショートコードブロックだろ」と勝手に自動で判断してショートコードブロック化するようですからショートコードを使って何かを出力したいケースでは、以下のようにすれば対処できます。

  1. 新しい段落でショートコードを挿入(自動でショートコードブロック化)
  2. 開始角括弧または終了角括弧を除いた部分をコピーして目的の場所へペースト(ショートコードとは判断されないのでペースト可能)
  3. 2でコピーしなかった角括弧の部分を手入力で補完

具体的には以下のようにしましょう。

それなりにブロックエディターに慣れてて、段落冒頭に入れたショートコードが自動でショートコードブロックへ変換される様を「お、これすごいなぁ」と感じる方であれば、今回のような対処も思いつくし簡単に操作できるでしょうけど、そうでない人にとってはバグでは?としか思えないですよねぇ..だって6.4.3までは普通にできていたのですから...。

ただ、前述したようにこれはWordPressの仕様というよりはGutenberg(ブロックエディター)の仕様なので、すごく問題視されれば何かのアクションがあるかも知れませんが、少なくとも現時点ではこのように対処するしかないと思います。



Lolipop ServerMoshimo Ad x-serverMoshimo Ad

WordPress Trouble Shooting and Repair | Personal WP Customization Notes (PWCN)
「PHP Notice: ob_end_flush(): Failed to send buffer of zlib output compression (0) in…」の対処(メモ)