再利用ブロック(パターン)で作成したものをショートコードで出力できるようにする方法
ブロックエディタで構築したいところがあるが
テーマの仕様などによって、
そのエリアはブロックエディタを扱うことが出来ないというときがあります。
例えば、ウィジェットだけ
クラシックウィジェットになってるテーマとか
TCD系のテーマは、トップページは、
型に沿った構築しかできず
独自のエディタ機能しか使えないものなどがあるとか
クラシックエディタしか扱えなかったりする場合があります。
そんな時に、再利用ブロックで出力したいものを作成して
それをショートコード化して
クラシックウィジェットやクラシックエディタで
そのショートコードで出力してあげることで
再現することが出来ます。
ただし、欠点として、
CSSが反映されずレイアウトが崩れてしまう場合がありますので、
ショートコードで出力した用のCSSを設定する必要があります。
簡単なものであれば特に問題はないですが、
複雑なものの場合、そこの手間がかかります。
それでも、クライアントのご要望などで
どうしても再現しなければならない時などは
この方法が重宝します。
再利用ブロック(パターン)が表示されていない場合
再利用ブロック(パターン)が、管理画面に表示されていない場合、
function.phpに、以下コードをコピペして保存&反映することで表示されます。
function my_add_reuse_list_admin_menu() {
add_menu_page( '再利用ブロック', '再利用ブロック', 'manage_options', 'edit.php?post_type=wp_block', '', 'dashicons-screenoptions', 20 );
}
add_action( 'admin_menu', 'my_add_reuse_list_admin_menu' );
ちなみに再利用ブロック(パターン)は、投稿または固定ページの編集画面内
右上の縦の「…」をクリックして「パターンの管理」より
開くことが出来ます。

あるいは、管理画面の「外観>パターン」から開くことが出来ます。

再利用ブロック(パターン)のIDを確認する
続いて、再利用ブロック(パターン)より、
新規追加で専用のパターンを作成します。
とりあえず適当に作って保存します。
そして、そのページのアドレスを確認し
記事IDをメモしておきます。
「post=●●」または「postId=●●」の●●のところの数字が
記事IDです。

再利用ブロック(パターン)をショートコード化設定
function.phpにて、下記コードをコピペ&保存して反映することで
再利用ブロック(パターン)がショートコードで出力することが出来るようになります。
function my_reuse_block_shortcode($atts){
$reuse_block = get_post($atts['id']);
$reuse_block_content = apply_filters( 'the_content', $reuse_block->post_content);
return $reuse_block_content;
}
add_shortcode('reuse-block','my_reuse_block_shortcode');
ショートコードで再利用ブロック(パターン)を出力してみる
あとは、クラシックエディタなどで、
下記のようなショートコードを張り付けてあげることで
再利用ブロック(パターン)で作ったものが出力されるようになります。
[reuse-block id="3440"]
IDの部分は、ご自身のものと変えてください。
もしこれでデザインが崩れるようであれば、
再利用ブロック(パターン)で作成したデザインが反映するよう
CSSで調整してください。
この方法を使うと、例えば、定期的に変更したい内容を
再利用ブロック(パターン)で必要箇所を修正することで
メインページをいじらずにそのパーツだけ変更できるので
そのページ全体のレイアウトを壊されずに
必要箇所だけ調整できるので良かったりします。
お試しください。