利用可能なプロパティ

  • name string: パネルを識別する文字列です。
  • className string: サイドバー本体に追加されるオプションのクラス名です。
  • title string: サイドバーの上部に表示されるタイトルです。
  • icon (string|Element): Dashicon アイコンスラッグ文字列、またはSVG WP要素です。

  1. import { registerPlugin } from '@wordpress/plugins';
  2. import { PluginDocumentSettingPanel } from '@wordpress/editor';
  3. const PluginDocumentSettingPanelDemo = () => (
  4. <PluginDocumentSettingPanel
  5. name="custom-panel"
  6. title="Custom Panel"
  7. className="custom-panel"
  8. >
  9. Custom Panel Contents
  10. </PluginDocumentSettingPanel>
  11. );
  12. registerPlugin( 'plugin-document-setting-panel-demo', {
  13. render: PluginDocumentSettingPanelDemo,
  14. icon: 'palmtree',
  15. } );

プログラムでパネルにアクセスする

コアおよびカスタムパネルは、そのパネル名を使用してプログラムでアクセスできます。コアパネル名は次のとおりです:

  • サマリーパネル: post-status
  • カテゴリーパネル: taxonomy-panel-category
  • タグパネル: taxonomy-panel-post_tag
  • 特徴的な画像パネル: featured-image
  • 抜粋パネル: post-excerpt
  • ディスカッションパネル: discussion-panel

カスタムパネルは、registerPluginに渡されたプラグイン名で名前空間化されています。

  1. プログラムでパネルを切り替えるには、次のようにします:
  2. ``````bash
  3. import { useDispatch } from '@wordpress/data';
  4. import { store as editorStore } from '@wordpress/editor';
  5. const Example = () => {
  6. const { toggleEditorPanelOpened } = useDispatch( editorStore );
  7. return (
  8. <Button
  9. variant="primary"
  10. onClick={ () => {
  11. // Toggle the Summary panel
  12. toggleEditorPanelOpened( 'post-status' );
  13. // Toggle the Custom Panel introduced in the example above.
  14. toggleEditorPanelOpened(
  15. 'plugin-document-setting-panel-demo/custom-panel'
  16. );
  17. } }
  18. >
  19. Toggle Panels
  20. </Button>
  21. );
  22. };
  23. `

登録されたパネルの名前を渡すことによって、removeEditorPanel関数を使用して管理者からパネルを削除することも可能です。

  1. import { useDispatch } from '@wordpress/data';
  2. import { store as editorStore } from '@wordpress/editor';
  3. const Example = () => {
  4. const { removeEditorPanel } = useDispatch( editorStore );
  5. return (
  6. <Button
  7. variant="primary"
  8. onClick={ () => {
  9. // Remove the Featured Image panel.
  10. removeEditorPanel( 'featured-image' );
  11. // Remove the Custom Panel introduced in the example above.
  12. removeEditorPanel(
  13. 'plugin-document-setting-panel-demo/custom-panel'
  14. );
  15. } }
  16. >
  17. Toggle Panels
  18. </Button>
  19. );
  20. };