2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

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

Last updated at Posted at 2020-05-20

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

新規投稿時にブロック配置

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

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

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

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

newpost.png

置いたブロックは、

  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 が設定できることが分かります。

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

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

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

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?