インストール
モジュールをインストールします
npm install @wordpress/interface --save
このパッケージは、あなたのコードがES2015+環境で実行されることを前提としています。このような言語機能やAPIのサポートが限られているか、まったくない環境を使用している場合は、コードに@wordpress/babel-preset-default
で提供されるポリフィルを含める必要があります。
APIの使用
補完領域
このコンポーネントは、補完的なランドマークにちなんで名付けられました。これは、DOM階層内のメインコンテンツと同じレベルで補完的に設計された文書のサポートセクションであり、メインコンテンツから分離されても意味を持ちます。
ストアを使用して、どの補完が有効かを制御することが可能です。
以下は、ストアを使用してアクティブな補完領域を制御する方法のいくつかの例です:
``````bash
wp.data
.select( 'core/interface' )
.getActiveComplementaryArea( 'core' );
// -> "edit-post/document"
wp.data
.dispatch( 'core/interface' )
.enableComplementaryArea( 'core', 'edit-post/block' );
wp.data
.select( 'core/interface' )
.getActiveComplementaryArea( 'core' );
// -> "edit-post/block"
wp.data
.dispatch( 'core/interface' )
.disableComplementaryArea( 'core' );
wp.data
.select( 'core/interface' )
.getActiveComplementaryArea( 'core' );
// -> null
`
ピン留めされたアイテム
使用例: `````ComplementaryArea`````コンポーネントは`````PinnedItems`````を利用し、お気に入りとしてマークされた補完領域のために自動的にピン留めされたアイテムを追加します。
``````bash
wp.data.select( 'core/interface' ).isItemPinned( 'core', 'edit-post-block-patterns/block-patterns-sidebar' );
// -> false
wp.data.dispatch( 'core/interface' ).pinItem( 'core', 'edit-post-block-patterns/block-patterns-sidebar' );
wp.data.select( 'core/interface' ).isItemPinned( 'core', 'edit-post-block-patterns/block-patterns-sidebar' );
// -> true
wp.data.dispatch( 'core/interface' ).unpinItem( 'core', 'edit-post-block-patterns/block-patterns-sidebar' );
wp.data.select( 'core/interface' ).isItemPinned( 'core', 'edit-post-block-patterns/block-patterns-sidebar' ); -> false
`
設定
インターフェースパッケージは、エディタの設定を実装するためのいくつかのヘルパーを提供します。
機能
機能は、特定のエディタ機能をオンまたはオフに切り替えるために使用されるブール値です。
エディタの初期化時に機能のデフォルト値を設定します:
import { dispatch } from '@wordpress/data';
import { store as interfaceStore } from '@wordpress/interface';
function initialize() {
// ...
dispatch( interfaceStore ).setFeatureDefaults(
'namespace/editor-or-plugin-name',
{
myFeatureName: true,
}
);
// ...
}
``````bash
wp.data
.select( 'core/interface' )
.isFeatureActive( 'namespace/editor-or-plugin-name', 'myFeatureName' ); // true
wp.data
.dispatch( 'core/interface' )
.toggleFeature( 'namespace/editor-or-plugin-name', 'myFeatureName' );
wp.data
.select( 'core/interface' )
.isFeatureActive( 'namespace/editor-or-plugin-name', 'myFeatureName' ); // false
`
このパッケージへの貢献
これはGutenbergプロジェクトの一部である個別のパッケージです。このプロジェクトはモノレポとして整理されています。特定の目的を持つ複数の自己完結型ソフトウェアパッケージで構成されています。このモノレポ内のパッケージはnpmに公開され、WordPressや他のソフトウェアプロジェクトで使用されています。
このパッケージやGutenberg全体への貢献について詳しく知りたい場合は、プロジェクトの主要な貢献者ガイドをお読みください。