インストール

モジュールをインストールします

  1. npm install @wordpress/plugins --save

このパッケージは、あなたのコードがES2015+環境で実行されることを前提としています。そのような言語機能やAPIのサポートが限られているか、まったくない環境を使用している場合は、コードに@wordpress/babel-preset-defaultで提供されるポリフィルを含める必要があります。

プラグインAPI

getPlugin

登録されたプラグインの設定を返します。

パラメータ

  • name string: プラグイン名。

返り値

  • WPPlugin | undefined: プラグイン設定。

getPlugins

スコープなしまたは指定されたスコープのすべての登録されたプラグインを返します。

パラメータ

  • scope string: プラグインエリア内でレンダリングする際に使用されるスコープ。デフォルトではスコープなし。

返り値

  • WPPlugin[]: スコープなしまたは指定されたスコープのプラグインのリスト。

PluginArea

すべてのプラグインフィルを隠れたdivにレンダリングするコンポーネントです。

使用法

  1. // Using ES5 syntax
  2. var el = React.createElement;
  3. var PluginArea = wp.plugins.PluginArea;
  4. function Layout() {
  5. return el( 'div', { scope: 'my-page' }, 'Content of the page', PluginArea );
  6. }
  1. // Using ESNext syntax
  2. import { PluginArea } from '@wordpress/plugins';
  3. const Layout = () => (
  4. <div>
  5. Content of the page
  6. <PluginArea scope="my-page" />
  7. </div>
  8. );

パラメータ

  • props { scope?: string; onError?: ( name: WPPlugin[ 'name' ], error: Error ) => void; }:
  • props.scope string:
  • props.onError ( name: WPPlugin[ 'name' ], error: Error ) => void:

返り値

  • Component: レンダリングされるコンポーネント。

registerPlugin

エディタにプラグインを登録します。

使用法

  1. // Using ES5 syntax
  2. var el = React.createElement;
  3. var Fragment = wp.element.Fragment;
  4. var PluginSidebar = wp.editor.PluginSidebar;
  5. var PluginSidebarMoreMenuItem = wp.editor.PluginSidebarMoreMenuItem;
  6. var registerPlugin = wp.plugins.registerPlugin;
  7. var moreIcon = React.createElement( 'svg' ); //... svg element.
  8. function Component() {
  9. return el(
  10. Fragment,
  11. {},
  12. el(
  13. PluginSidebarMoreMenuItem,
  14. {
  15. target: 'sidebar-name',
  16. },
  17. 'My Sidebar'
  18. ),
  19. el(
  20. PluginSidebar,
  21. {
  22. name: 'sidebar-name',
  23. title: 'My Sidebar',
  24. },
  25. 'Content of the sidebar'
  26. )
  27. );
  28. }
  29. registerPlugin( 'plugin-name', {
  30. icon: moreIcon,
  31. render: Component,
  32. scope: 'my-page',
  33. } );
  1. // Using ESNext syntax
  2. import { PluginSidebar, PluginSidebarMoreMenuItem } from '@wordpress/editor';
  3. import { registerPlugin } from '@wordpress/plugins';
  4. import { more } from '@wordpress/icons';
  5. const Component = () => (
  6. <>
  7. <PluginSidebarMoreMenuItem target="sidebar-name">
  8. My Sidebar
  9. </PluginSidebarMoreMenuItem>
  10. <PluginSidebar name="sidebar-name" title="My Sidebar">
  11. Content of the sidebar
  12. </PluginSidebar>
  13. </>
  14. );
  15. registerPlugin( 'plugin-name', {
  16. icon: more,
  17. render: Component,
  18. scope: 'my-page',
  19. } );

パラメータ

  • name string: プラグインを識別する文字列。すべての登録されたプラグインの中で一意である必要があります。
  • settings PluginSettings: このプラグインの設定。

返り値

  • PluginSettings | null: 最終的なプラグイン設定オブジェクト。

unregisterPlugin

名前でプラグインの登録を解除します。

使用法

  1. // Using ES5 syntax
  2. var unregisterPlugin = wp.plugins.unregisterPlugin;
  3. unregisterPlugin( 'plugin-name' );
  1. // Using ESNext syntax
  2. import { unregisterPlugin } from '@wordpress/plugins';
  3. unregisterPlugin( 'plugin-name' );

パラメータ

  • name string: プラグイン名。

返り値

  • WPPlugin | undefined: 以前のプラグイン設定オブジェクト。正常に登録解除された場合はそれを返し、そうでない場合はundefinedを返します。

usePluginContext

プラグインコンテキストを返すフックです。

返り値

  • PluginContext: プラグインコンテキスト

withPluginContext

ラップされたコンポーネントにプラグインコンテキストを注入するために使用される高階コンポーネントです。

パラメータ

  • mapContextToProps ( context: PluginContext, props: T ) => T & PluginContext: コンテキストが変更されるたびに呼び出される関数で、コンポーネントの独自のプロパティとマージするためのプロパティのオブジェクトを返すことが期待されます。

返り値

  • Component: 注入されたコンテキストをプロパティとして持つ強化されたコンポーネント。

このパッケージへの貢献

これはGutenbergプロジェクトの一部である個別のパッケージです。このプロジェクトはモノレポとして整理されています。特定の目的を持つ複数の自己完結型ソフトウェアパッケージで構成されています。このモノレポ内のパッケージは[https://www.npmjs.com/]に公開され、[https://make.wordpress.org/core/]や他のソフトウェアプロジェクトで使用されています。

このパッケージやGutenberg全体への貢献について詳しく知りたい場合は、プロジェクトの主要な[https://github.com/WordPress/gutenberg/tree/HEAD/CONTRIBUTING.md]をお読みください。