Poet は、シンプルな設定ベースの投稿タイプ、分類法、エディターのカラー パレット、ブロック カテゴリ、ブロック パターン、ブロックの登録/変更を提供します。
Tools
サブメニューに移動します。 Composer 経由でインストールします。
$ composer require log1x/poet
まず、Acorn を使用して Poet 設定ファイルを公開します。
$ wp acorn vendor:publish --provider= " Log1xPoetPoetServiceProvider "
Poet に関連するすべての設定はconfig/poet.php
にあります。ここでは、いくつかの一般的な設定で事前に構成された予約投稿タイプの例を示します。
' post ' => [
' book ' => [
' enter_title_here ' => ' Enter book title ' ,
' menu_icon ' => ' dashicons-book-alt ' ,
' supports ' => [ ' title ' , ' editor ' , ' author ' , ' revisions ' , ' thumbnail ' ],
' show_in_rest ' => true ,
' has_archive ' => false ,
' labels ' => [
' singular ' => ' Book ' ,
' plural ' => ' Books ' ,
],
],
],
最も単純な形式では、文字列を渡すだけで投稿タイプを作成できます。
' post ' => [
' book ' ,
],
既存の投稿タイプを変更するには、変更したい設定オプションのみを渡す新しい投稿タイプを作成しているかのように扱います。
' post ' => [
' post ' => [
' labels ' => [
' singular ' => ' Article ' ,
' plural ' => ' Articles ' ,
],
],
],
false
渡すだけで既存の投稿タイプの登録を解除することもできます。
' post ' => [
' book ' => false ,
],
一部の組み込み投稿タイプ (例: Post) は、従来は登録を解除できないことに注意してください。
投稿タイプの追加の設定オプションについては、以下を参照してください。
register_post_type()
register_extended_post_type()
注: 拡張 CPT ドキュメントに示されているように、
config
キー内に構成をネストしないでください。
タクソノミーの登録は投稿タイプと似ています。 config/poet.php
を見ると、デフォルトの書籍投稿タイプに付随するジャンル分類が表示されます。
' taxonomy ' => [
' genre ' => [
' links ' => [ ' book ' ],
' meta_box ' => ' radio ' ,
],
],
最も関連性の高い設定オプションは、分類が接続されている投稿タイプを定義するlinks
です。リンクが指定されていない場合は、デフォルトでpost
が使用されます。
ジャンル分類のアーカイブを表示するには、 archive.blade.php
という Blade テンプレートをtaxonomy-genre.blade.php
という新しいファイルにコピーします。
最も単純な形式では、単純に文字列を渡すことができます。以下の例では、Post 投稿タイプのトピック分類を作成します。
' taxonomy ' => [
' topic ' ,
],
投稿タイプと同様に、既存の分類を変更するには、変更したい設定オプションのみを渡すだけです。
' taxonomy ' => [
' category ' => [
' labels ' => [
' singular ' => ' Section ' ,
' plural ' => ' Sections ' ,
],
],
],
また、投稿タイプと同様に、 false
渡すだけで既存の分類を簡単に登録解除できます。
' taxonomy ' => [
' post_tag ' => false ,
' category ' => false ,
],
タクソノミーの追加の構成オプションについては、以下を参照してください。
register_taxonomy()
register_extended_taxonomy()
注: 拡張 CPT ドキュメントに示されているように、
config
キー内に構成を入れ子にしないでください。
Poet は、フロントエンドでブロックをレンダリングするための付属の Blade ビューを使用して、Gutenberg ブロックをエディターに登録する簡単な方法を提供します。
ブロックは、エディターでブロックを登録するときに定義されたnamespace/label
使用して登録されます。
名前空間が指定されていない場合は、代わりに現在のテーマのテキスト ドメインが使用されます。
ほとんどの場合、ブロックの登録は次のように簡単です。
' block ' => [
' sage/accordion ' ,
],
ブロックsage/accordion
指定すると、付随する Blade ビューはviews/blocks/accordion.blade.php
に配置されます。
ブロック ビューでは次の変数を使用できます。
$data
– ブロック データを含むオブジェクト。$content
– InnerBlocks コンテンツを含む文字列。空の場合はnull
を返します。デフォルトでは、 $content
が空かどうかをチェックする場合、評価前にすべてのタグと空白を削除するメソッドが渡されます。これにより、エディターがnbsp;
または空の<p></p>
タグを条件文で使用した場合、 $content
常にtrue
を返すわけではありません。
特定のブロックでこの動作を望まない場合は、単純にそれを配列として登録します。
' block ' => [
' sage/accordion ' => [ ' strip ' => false ],
],
PHP を使用して特定のブロックにブロック属性を登録する必要がある場合は、登録時に属性を配列で渡すだけです。
' block ' => [
' sage/accordion ' => [
' attributes ' => [
' title ' => [
' default ' => ' Lorem ipsum ' ,
' type ' => ' string ' ,
],
],
],
],
title
とclassName
属性を使用して登録されたアコーディオン ブロックについて考えてみましょう。ビューは次のようになります。
<div class="wp-block-accordion {{ $ data -> className ?? '' }}">
@ isset ( $ data -> title )
<h2>{!! $ data -> title !!}</h2>
@endisset
<div>
{!! $ content ?? ' Please feed me InnerBlocks. ' !!}
</div>
</div>
Poet は、Gutenberg ブロック カテゴリを簡単に登録、変更、登録解除する方法を提供します。構成を見ると、CTA カテゴリのコメントアウトされた例が表示されます。
' block_category ' => [
' cta ' => [
' title ' => ' Call to Action ' ,
' icon ' => ' star-filled ' ,
],
],
これにより、 cta
のスラッグを持つブロック カテゴリが生成されます。ブロック カテゴリを登録したら、そのカテゴリがエディタに表示される前に、ブロックをそのスラッグに登録する必要があります。
最も単純な形式では、単純に文字列を渡すことができます。
' block_category ' => [
' my-cool-blocks ' ,
],
これにより、 my-cool-blocks
カテゴリがスラッグをタイトルケースに自動的に変換します。
値をスラッグに渡してタイトルを指定することもできます。
' block_category ' => [
' my-cool-blocks ' => ' Best Blocks, World. ' ,
],
投稿タイプやタクソノミーと同様、既存のブロック カテゴリを変更することは、ブロック カテゴリを登録することと同じです。
' block_category ' => [
' layouts ' => ' Sections ' ,
' common ' => [ ' icon ' => ' star-filled ' ],
],
false
を渡すだけで、既存のブロック カテゴリを登録解除できます。
' block_category ' => [
' common ' => false ,
],
Poet は、コンテンツのオプションのブレード ビューを使用して、ブロック パターンを登録することもできます。
パターンは、エディターでパターンを登録するときに定義されたnamespace/label
使用して登録されます。
名前空間が指定されていない場合は、代わりに現在のテーマのテキスト ドメインが使用されます。
ほとんどの場合、ブロックの登録は次のように簡単です。
' block_pattern ' => [
' sage/hero ' => [
' title ' => ' Page Hero ' ,
' description ' => ' Draw attention to the main focus of the page, and highlight key CTAs ' ,
' categories ' => [ ' all ' ],
],
],
ここでも、 content
キーを使用して、パターンの実際のコンテンツを登録できます。または、空白のままにして、対応するブレード ビューを使用します。
' block_pattern ' => [
' sage/fake-paragraph ' => [
' title ' => ' Fake Paragraph ' ,
' description ' => ' Filler content used instead of actual content for testing purposes ' ,
' categories ' => [ ' all ' ],
' content ' => ' <!-- wp:paragraph --><p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ratione nulla culpa repudiandae nisi nostrum et, labore earum repellendus porro, mollitia voluptas quam? Modi sint tempore deleniti nesciunt ab, perferendis et.</p><!-- /wp:paragraph --> ' ,
],
],
ブロックsage/fake-paragraph
がある場合、 content
キーが定義されていない場合、付随する Blade ビューはviews/block-patterns/fake-paragraph.blade.php
に配置されます。
このブロック パターン ビューは次のようになります。
<!-- wp:paragraph -->
<p> Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ratione nulla culpa repudiandae nisi nostrum et, labore earum repellendus porro, mollitia voluptas quam? Modi sint tempore deleniti nesciunt ab, perferendis et.</p>
<!-- /wp:paragraph -->
ブロック パターン カテゴリは、Poet 構成内の次のコードで追加できます。
' block_pattern_category ' => [
' all ' => [
' label ' => ' All Patterns ' ,
],
],
ブロック エディターのハンドブックに従って、 label
などのすべてのカテゴリ プロパティを指定できます。
注: 現在、使用可能なブロック パターン カテゴリがまったくない場合、エディターの [ブロック パターン] タブをクリックするとクラッシュします。
Poet は、そのような厳密で壊れやすい配列マークアップを必要としないことで、エディターへのカラー パレットの登録を少し簡素化しようとしています。
もちろん、配列を直接渡すこともできますが、単に色とともにスラッグを渡し、残りを Poet に処理させることで色を登録することもできます。
' palette ' => [
' red ' => ' #ff0000 ' ,
' blue ' => ' #0000ff ' ,
],
配列を渡す代わりに、Poet はカラー パレットを含むJSON
ファイルも受け入れます。 Poet は通常、デフォルトでdist/
でこのファイルを探します。
' palette ' => ' colors.json ' ,
Palette Webpack プラグインを使用している場合は、単純にtrue
を渡して、ビルド中に生成されたpalette.json
自動的に使用することもできます。
' palette ' => true ,
Poet にバグを発見した場合は、問題を報告してください。
PR、問題の報告、アイデアの提案などを通じて貢献することは奨励され、高く評価されます。
Poet は MIT ライセンスに基づいて提供されます。