ブロックエディタにおけるライブレンダリング
Gutenberg 2.8では、PHPを使用してサーバー上でレンダリングを行うことを可能にする<ServerSideRender>
ブロックが追加されました。
サーバーサイドレンダリングはフォールバックとして意図されています。クライアントサイドレンダリングは常に優先されます(クライアントレンダリングは速く、エディタの操作がより良好です)。
import { registerBlockType } from '@wordpress/blocks';
import ServerSideRender from '@wordpress/server-side-render';
import { useBlockProps } from '@wordpress/block-editor';
registerBlockType( 'gutenberg-examples/example-dynamic', {
apiVersion: 3,
title: 'Example: last post',
icon: 'megaphone',
category: 'widgets',
edit: function ( props ) {
const blockProps = useBlockProps();
return (
<div { ...blockProps }>
<ServerSideRender
block="gutenberg-examples/example-dynamic"
attributes={ props.attributes }
/>
</div>
);
},
} );
このコードはwp-server-side-render
パッケージを使用していますが、wp-data
は使用していません。PHPコード内の依存関係を更新することを確認してください。wp-scriptsを使用して依存関係を自動的にビルドすることができます(PHPコードのセットアップについては[https://github.com/WordPress/block-development-examples/tree/trunk/plugins/basic-esnext-a2ab62]の[ブロック開発例リポジトリ]を参照してください)。