日付を出力するブロックを作成する。
雛形の作成
–variant dynamic をつけてコマンドを叩く
npx @wordpress/create-block dojo-dynamic-block --variant dynamic
プラグインを有効化する。
block.jsonに次の行が追加される
"render": "file:./render.php",
"viewScript": "file:./view.js"
ビルド
npm run
render.php
クラスを当ててる関数 get_block_wrapper_attributes()
<p <?php echo get_block_wrapper_attributes(); ?>>
<?php esc_html_e( 'Dojo Dynamic Block – hello from a dynamic block!', 'dojo-dynamic-block' ); ?>
</p>
フロントエンドの開発
現在時刻を表示
<p <?php echo get_block_wrapper_attributes(); ?>>
<?php echo wp_date('Y-m-d H:i:s'); ?>
</p>
エディターの開発
edit.jsを編集する。jsで現在時刻を出力させるのは難しい
参考:packages/block-library/src/post-date/edit.js
export default function Edit() {
return <p {...useBlockProps()}>現在の日時は、XXXX-XX-XX XX:XX:XXです。</p>;
}
ブロックサポートを追加
"example": {},
"supports": {
"html": false,
"color": {
"text": true,
"background": true,
"gradients": true
},
"typography": {
"fontSize": true
},
"spacing": {
"padding": true
}
},
"textdomain": "dojo-dynamic-block",
ショートコードとダイナミックブロックの違い
ショートコードは、
- エディター側で実際の見た目がわからない。フロントエンドでしか表示確認できない。
- ブロックサポートを追加できない