The plugins API contains the following methods:
This method registers a new plugin.
This method takes two arguments:
name: A string identifying the plugin. Must be unique across all registered plugins.settings: An object containing the following data:icon: string | WPElement | Function- An icon to be shown in the UI. It can be a slug of the Dashicon, or an element (or function returning an element) if you choose to render your own SVG.render: A component containing the UI elements to be rendered.
See the edit-post module documentation for available components.
Example:
const { Fragment } = wp.element;
const { PluginSidebar, PluginSidebarMoreMenuItem } = wp.editPost;
const { registerPlugin } = wp.plugins;
const Component = () => (
<Fragment>
<PluginSidebarMoreMenuItem
target="sidebar-name"
>
My Sidebar
</PluginSidebarMoreMenuItem>
<PluginSidebar
name="sidebar-name"
title="My Sidebar"
>
Content of the sidebar
</PluginSidebar>
</Fragment>
);
registerPlugin( 'plugin-name', {
icon: 'smiley',
render: Component,
} );This method unregisters an existing plugin.
This method takes one argument:
name: A string identifying the plugin.
Example:
const { unregisterPlugin } = wp.plugins;
unregisterPlugin( 'plugin-name' );A component that renders all registered plugins in a hidden div.
Example:
const { PluginArea } = wp.plugins;
const Layout = () => (
<div>
Content of the page
<PluginArea />
</div>
);