Gutenberg/日記007
表示するブロックを絞り込む
久しぶりにGutenbergのブロックを追加する作業を担当しました。過去の作業を思い出しながら、単純なブロックを登録してプラグインを更新しました。しかし、編集画面には追加したはずのレイアウトブロックが表示されません。何か間違ったのかなとコンパイルされたJSファイルを眺めてみても、追加したブロックは存在しているようでした。
悩んだ末、テーマのfunctions.phpの中で表示するレイアウトブロックをカスタム投稿タイプに応じて出し分けている処理をみつけました。なるほど、使わないレイアウトブロックなんて、選択肢に上がるだけでも邪魔ですもんね。レイアウトブロックに何を表示するのか、出し分けを行う機構があって当然ですね。そういえば、デフォルトで備わっていたcoreブロックも今思えば随分間引かれていたなぁ、と気付きます。
add_filter('allowed_block_types', 'mabikuyo');
function mabikuyo($allowed_block_types, $post) {
if ($post->post_type === 'posttype_a') {
$allowed_block_types = array(
'core/paragraph',
'core/heading'
);
}
return $allowed_block_types;
}
allowed_block_typesフィルターに関数を追加すると、その関数に引数としてレイアウトブロックの一覧と投稿情報が渡されてくるようです。レイアウトブロックの一覧に必要なものだけ詰め込んで、返り値として返せば必要なレイアウトブロックだけが編集画面に登場するという寸法ですね。↑上のコードでは投稿タイプがposttype_aのときだけレイアウトブロックを段階と見出しに限定しています。応用すれば、特定の記事でだけ現れるレイアウトなんかもできそうですね。
- Gutenberg/日記002前回、create-guten-blockによって生成されたブロックの雛形情報の実体は、プラグインフォルダの中の src/block/blocks.js の中にâ¦
- Gutenberg/日記005ちゃんと調べないでなぁなぁのままのままできてしまった部分を少し補完していこうと思います。Gutenbergのブロックで入力された値を扱うにあたって attribâ¦
- GutenbergWEB制作でWordpressを使ったお仕事をよくいただきますが、今年のWordpressのメジャーアップデートで標準の記事の編集方法がブロックを使ったものに変â¦
- 開発日記/2022年の日記Google Search Console から久しぶりに指摘を受けて対応しました。 インデックス登録されたページのURLと同内容のページがあって、canoniâ¦
- 開発日記/2020年の日記Wordpressのサイトでパーマリンクに細工をすることになって、get_permalink関数を呼んだときに値をフィルタ関数にかけようとした際にちょっと手間取â¦
- Gutenberg/日記001Wordpressの記事編集画面では予めよく利用されるであろうブロックがプリセットされていますので、それらを駆使して記事を組み立てていくこともできなくはないのでâ¦
- WebAssembly/CallbackとかPromiseとかJavaScriptでは、関数もオブジェクトとして存在していて、あまりの使い勝手の良さにfunction(){}とか、今なら()=>{}とか、何度も何度もタイプâ¦
- 開発日記/2016年の日記Wordpressで管理するサイトの制作をよくお引き受けするのですが、タイトルや本文以外にお客さんが独自に入力したい項目を更新画面に追加する際、よくカスタムフィâ¦
- Gutenberg/日記003前回ブロックの構成をある程度把握できたので、今回は実際に使えるブロックに仕上げてみます。簡単な目標として、記事編集画面上でリッチテキストエディタによって中身が編â¦
- 開発日記/2009年の日記MovableType5をいじる機会があったのですが、そのときに詰まったことのメモ。 MTは4から5へのバージョンアップで、ブログ制作ソフトからサイト制作ソフトâ¦