プロジェクトテンプレートの設定
パッケージが設定オブジェクトを返すためのメインファイル(デフォルトでは index.js
)を提供することは必須です。いくつかのオプションにより、スキャフォールディングプロセスをカスタマイズできます。
pluginTemplatesPath
このオプションのフィールドは、WordPressプラグインシェルに関連するファイルテンプレートを上書きすることを可能にします。パスは、.mustache
拡張子で終わるテンプレートファイルがある場所を指します(ネストされたフォルダーもサポートされています)。設定されていない場合、ツールは独自のテンプレートセットを使用します。
例:
const { join } = require( 'path' );
module.exports = {
pluginTemplatesPath: join( __dirname, 'plugin-templates' ),
};
blockTemplatesPath
このオプションのフィールドは、個々のブロックに関連するファイルテンプレートを上書きすることを可能にします。パスは、.mustache
拡張子で終わるテンプレートファイルがある場所を指します(ネストされたフォルダーもサポートされています)。設定されていない場合、ツールは独自のテンプレートセットを使用します。
例:
const { join } = require( 'path' );
module.exports = {
blockTemplatesPath: join( __dirname, 'block-templates' ),
};
assetsPath
この設定は、静的アセット(画像やフォントなど)を使用するWordPressプラグインをスキャフォールドするテンプレートに役立ちます。これらのアセットは処理されるべきではありません。アセットが存在する場所を指すパスを提供します。生成されたプラグインのassets
サブフォルダーにコピーされます。
例:
const { join } = require( 'path' );
module.exports = {
assetsPath: join( __dirname, 'plugin-assets' ),
};
defaultValues
*例:*
``````bash
module.exports = {
defaultValues: {
slug: 'my-fantastic-block',
title: 'My fantastic block',
dashicon: 'palmtree',
version: '1.2.3',
},
};
`
以下の設定可能な変数は、テンプレートファイルで使用されます。テンプレート作成者は、ユーザーがデータを提供しない場合に使用するデフォルト値を変更できます。
プロジェクト:
wpScripts
(デフォルト:true
) –@wordpress/scripts
パッケージとの統合を有効にし、package.json
に共通のスクリプトを追加します。wpEnv
(デフォルト:false
) –@wordpress/env
パッケージとの統合を有効にし、package.json
にenv
スクリプトを追加します。customScripts
(デフォルト: {}) –package.json
に追加するカスタムスクリプトのリスト。デフォルトスクリプトを上書きすることも可能です。npmDependencies
(デフォルト:[]
) –wpScripts
が有効なときに、npm install
でプロジェクトにインストールされるリモートnpmパッケージのリスト。npmDevDependencies
(デフォルト:[]
) –wpScripts
が有効なときに、npm install --save-dev
でプロジェクトにインストールされるリモートnpmパッケージのリスト。customPackageJSON
(デフォルトなし) – 生成されたpackage.jsonファイルの追加プロパティを定義することを許可します。
プラグインヘッダーフィールド([詳細を学ぶ](/read/wordpress/0aa1133fd7f2a1e6.md)):
pluginURI
(デフォルトなし) – プラグインのホームページ。version
(デフォルト:'0.1.0'
) – プラグインの現在のバージョン番号。author
(デフォルト:'The WordPress Contributors'
) – プラグインの著者の名前。license
(デフォルト:'GPL-2.0-or-later'
) – プラグインのライセンスの短い名前。licenseURI
(デフォルト:'https://www.gnu.org/licenses/gpl-2.0.html'
) – ライセンスの全文へのリンク。domainPath
(デフォルトなし) – 翻訳用のカスタムドメインパス(詳細情報)。updateURI:
(デフォルトなし) – プラグインのカスタム更新URI([関連開発ノート](https://make.wordpress.org/core/2021/06/29/introducing-update-uri-plugin-header-in-wordpress-5-8/))。
ブロックメタデータ([詳細を学ぶ](/read/wordpress/683dbccb07e6cf56.md)):
folderName
(デフォルト:src
) –block.json
ファイルおよびblockTemplatesPath
設定で指定されたフォルダーに含まれるブロックテンプレートから生成された他のオプションのブロックファイルの場所。$schema
(デフォルト:https://schemas.wp.org/trunk/block.json
) – ブロック検証に使用されるスキーマURL。apiVersion
(デフォルト:2
) – ブロックAPIバージョン([関連開発ノート](https://make.wordpress.org/core/2020/11/18/block-api-version-2/))。slug
(デフォルトなし) – ブロック名での識別に使用されるブロックスラッグ。namespace
(デフォルト:'create-block'
) – ブロック名の内部名前空間。title
(デフォルトなし) – ブロックの表示タイトル。description
(デフォルトなし) – ブロックの短い説明。dashicon
(デフォルトなし) – ブロックを識別しやすくするアイコンプロパティ([利用可能な値](https://developer.wordpress.org/resource/dashicons/))。category
(デフォルト:'widgets'
) – ブロックは、ユーザーがブラウズして発見するのを助けるためにカテゴリにグループ化されます。コアが提供するカテゴリは、text
、media
、design
、widgets
、theme
、embed
です。attributes
(デフォルトなし) – ブロック属性([詳細情報](https://developer.wordpress.org/block-editor/developers/block-api/block-attributes/))。supports
(デフォルトなし) – オプションのブロック拡張サポート機能([詳細情報](https://developer.wordpress.org/block-editor/developers/block-api/block-supports/))。editorScript
(デフォルト:'file:./index.js'
) – エディタースクリプトの定義。editorStyle
(デフォルト:'file:./index.css'
) – エディタースタイルの定義。style
(デフォルト:'file:./style-index.css'
) – フロントエンドおよびエディタースタイルの定義。render
(デフォルトなし) – フロントエンドに表示する前にサーバー上でブロックタイプをレンダリングするために使用されるPHPファイルへのパス。customBlockJSON
(デフォルトなし) – 生成されたblock.jsonファイルの追加プロパティを定義することを許可します。transformer
(デフォルト:( view ) => view
) – create-blockツールによって生成されたすべての変数を受け取り、値のオブジェクトを返す関数。この関数は、既存の値を変更し、新しい変数を追加する能力を提供します。
transformer examples
この例は、スラッグ変数に生成された値を追加します。
transformer: ( view ) => {
const hex = getRandomHexCode();
return {
...view,
slug: `${ view.slug }-${ hex }`,
};
},
この例は、関連するマスタッシュテンプレートで{{customVariable}}
として使用できる新しいカスタム変数を作成します。
transformer: ( view ) => {
return {
...view,
customVariable: `Custom Value`,
};
},
variants
バリアントは、テンプレートのバリエーションを作成するために使用されます。バリアントは、独自のdefaultValues
を提供することで、任意のdefaultValues
を上書きできます。
module.exports = {
defaultValues: {
slug: 'my-fantastic-block',
title: 'My fantastic block',
dashicon: 'palmtree',
version: '1.2.3',
},
variants: {
primary: {},
secondary: {
title: 'My fantastic block - secondary variant',
},
},
};
バリアントは、--variant
フラグを使用してアクセスされます。すなわち--variant secondary
。
バリアントが提供されていない場合、定義されている場合は最初のバリアントが使用されます。
マスタッシュ変数は、ファイル内で条件付きでコンテンツを出力するために使用できるバリアントのために作成されます。形式は{{isVARIANT_NAMEVariant}}
です。
{{#isPrimaryVariant}}
This content is only rendered if `--variant primary` is passed.
{{/isPrimaryVariant}}
{{#isSecondaryVariant}}
This content is only rendered if `--variant secondary` is passed.
{{/isSecondaryVariant}}