WordPress で、Snow Monkey Blocks のブロックを初期配置する


WordPressには、新規投稿にあらかじめブロックを初期配置しておく機能があります。(5.0から導入されたGutenberg活用が前提です)

(初期配置について詳しくは、WordPressユーザーのためのPHP入門 はじめから、ていねいに。第3版 p229-231を参照してください)

この機能は、WordPressのデフォルトで用意されているブロックだけでなく、テーマやプラグインの独自ブロックにも適用できます。

アコーディオンブロックを置いてみる

試しに、Snow Monkey Blocks のアコーディオンブロックを置いてみました。

置いたブロックは、
1. 見出しブロック - 「あらすじ」という文字列を初期設定する
2. 段落ブロック
3. アコーディオンブロック - 「ネタバレ」という文字列を初期設定する

です。見出しと段落はWP標準のブロックで、アコーディオンは Snow Monkey Blocks です。

コード例

書いたコードは以下のようになります。

$post_type_object->template = [
        [
            'core/heading',
            [
                'level'   => '2',
                'content' => 'あらすじ'
            ]
        ],
        [
            'core/paragraph',
            [
            ]
        ],
        [
            'snow-monkey-blocks/accordion--item',
            [
                'title'   => 'ネタバレ',
            ]
        ],
]

フックなどの詳細はWordPressユーザーのためのPHP入門 はじめから、ていねいに。第3版 でご確認ください。

ブロック名はどうやって調べる?

↑のコードでは、core/heading 等の名前で、ブロックを指定しています。ではこのブロックの名前はどうやって調べたらよいでしょうか?

WordPressのデフォルトのブロックは、WordPressのデフォルトのブロック一覧ページで名前を確認できます。

テーマ・プラグインの場合は、作者のウェブサイトやソースコードなどで確認します。Snow Monkey Blocksの場合は、ソースコードを読んでいくと https://github.com/inc2734/snow-monkey-blocks/blob/master/block/accordion/block/item/index.js#L11 snow-monkey-blocks/accordion--item という名前であることが分かります。
また属性は https://github.com/inc2734/snow-monkey-blocks/blob/master/block/accordion/block/item/attributes.json を見ると titleinitialState が設定できることが分かります。

複数人で記事を書くときに便利

ブロックを初期配置する機能を使うと、記事フォーマットの統一化、入力作業の手間削減などに使えます。

さらに、複数人で記事を書くときに便利です。ブックレコメンド では、寄稿者に下書きを作成してもらうことがあるのですが、そのようなときに重宝します。