Poet bietet einfache konfigurationsbasierte Beitragstypen, Taxonomie, Editor-Farbpalette, Blockkategorie, Blockmuster und Blockregistrierung/-änderung.
Tools
. Installation über Composer:
$ composer require log1x/poet
Beginnen Sie mit der Veröffentlichung der Poet-Konfigurationsdatei mit Acorn:
$ wp acorn vendor:publish --provider= " Log1xPoetPoetServiceProvider "
Die gesamte Poet-bezogene Konfiguration befindet sich in config/poet.php
. Hier finden Sie ein Beispiel für einen Buchbeitragstyp, der mit einigen allgemeinen Einstellungen vorkonfiguriert ist:
' 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 ' ,
],
],
],
In seiner einfachsten Form kann ein Beitragstyp durch einfaches Übergeben einer Zeichenfolge erstellt werden:
' post ' => [
' book ' ,
],
Um einen vorhandenen Beitragstyp zu ändern, behandeln Sie ihn einfach so, als würden Sie einen neuen Beitragstyp erstellen und dabei nur die Konfigurationsoptionen übergeben, die Sie ändern möchten:
' post ' => [
' post ' => [
' labels ' => [
' singular ' => ' Article ' ,
' plural ' => ' Articles ' ,
],
],
],
Es ist auch möglich, die Registrierung eines vorhandenen Beitragstyps aufzuheben, indem Sie einfach false
übergeben:
' post ' => [
' book ' => false ,
],
Bitte beachten Sie, dass einige integrierte Beitragstypen (z. B. Beitrag) nicht auf herkömmliche Weise abgemeldet werden können.
Weitere Konfigurationsmöglichkeiten für Beitragstypen finden Sie unter:
register_post_type()
register_extended_post_type()
Hinweis : Verschachteln Sie die Konfiguration nicht in einem
config
wie in der Dokumentation zu erweiterten CPTs gezeigt.
Das Registrieren einer Taxonomie ähnelt einem Beitragstyp. Wenn Sie in config/poet.php
nachsehen, sehen Sie eine Genre-Taxonomie, die den Standard-Buchbeitragstyp begleitet:
' taxonomy ' => [
' genre ' => [
' links ' => [ ' book ' ],
' meta_box ' => ' radio ' ,
],
],
Die relevanteste Konfigurationsoption sind links
, die den Beitragstyp definieren, mit dem die Taxonomie verbunden ist. Wenn kein Link angegeben ist, wird standardmäßig post
verwendet.
Um ein Archiv für die Genre-Taxonomie anzuzeigen, kopieren Sie die Blade-Vorlage namens archive.blade.php
in eine neue Datei namens taxonomy-genre.blade.php
.
In der einfachsten Form können Sie einfach eine Zeichenfolge übergeben. Das folgende Beispiel würde eine Thementaxonomie für den Beitragstyp „Beitrag“ erstellen:
' taxonomy ' => [
' topic ' ,
],
Um eine vorhandene Taxonomie zu ändern, übergeben Sie wie bei Beitragstypen einfach nur die Konfigurationsoptionen, die Sie ändern möchten:
' taxonomy ' => [
' category ' => [
' labels ' => [
' singular ' => ' Section ' ,
' plural ' => ' Sections ' ,
],
],
],
Ebenso wie bei Beitragstypen können Sie die Registrierung einer vorhandenen Taxonomie einfach aufheben, indem Sie einfach false
übergeben:
' taxonomy ' => [
' post_tag ' => false ,
' category ' => false ,
],
Weitere Konfigurationsmöglichkeiten für Taxonomien finden Sie unter:
register_taxonomy()
register_extended_taxonomy()
Hinweis : Verschachteln Sie die Konfiguration nicht in einem
config
wie in der Dokumentation zu erweiterten CPTs gezeigt.
Poet bietet eine einfache Möglichkeit, einen Gutenberg-Block beim Editor zu registrieren, indem er eine zugehörige Blade-Ansicht zum Rendern des Blocks im Frontend verwendet.
Blöcke werden unter Verwendung des namespace/label
registriert, der bei der Registrierung des Blocks beim Editor definiert wurde.
Wenn kein Namespace angegeben wird, wird stattdessen die Textdomäne des aktuellen Themes verwendet.
Das Registrieren eines Blocks ist in den meisten Fällen so einfach wie:
' block ' => [
' sage/accordion ' ,
],
Angesichts des Blocks sage/accordion
würde sich Ihre zugehörige Blade-Ansicht unter views/blocks/accordion.blade.php
befinden.
In Blockansichten sind die folgenden Variablen verfügbar:
$data
– Ein Objekt, das die Blockdaten enthält.$content
– Eine Zeichenfolge, die den InnerBlocks-Inhalt enthält. Gibt null
zurück, wenn es leer ist. Standardmäßig wird bei der Überprüfung, ob $content
leer ist, eine Methode durchlaufen, um vor der Auswertung alle Tags und Leerzeichen zu entfernen. Dies stellt sicher, dass sich der Editor wie nbsp;
oder leere <p></p>
-Tags führen nicht dazu, dass $content
immer true
zurückgibt, wenn es in einer Bedingung verwendet wird.
Wenn Sie dieses Verhalten für einen bestimmten Block nicht wünschen, registrieren Sie ihn einfach als Array:
' block ' => [
' sage/accordion ' => [ ' strip ' => false ],
],
Wenn Sie Blockattribute mit PHP für einen bestimmten Block registrieren müssen, übergeben Sie die Attribute bei der Registrierung einfach in einem Array:
' block ' => [
' sage/accordion ' => [
' attributes ' => [
' title ' => [
' default ' => ' Lorem ipsum ' ,
' type ' => ' string ' ,
],
],
],
],
Stellen Sie sich einen Akkordeonblock vor, der mit einem title
und className
registriert ist. Ihre Ansicht könnte etwa so aussehen:
<div class="wp-block-accordion {{ $ data -> className ?? '' }}">
@ isset ( $ data -> title )
<h2>{!! $ data -> title !!}</h2>
@endisset
<div>
{!! $ content ?? ' Please feed me InnerBlocks. ' !!}
</div>
</div>
Poet bietet eine einfache Möglichkeit, Gutenberg-Blockkategorien zu registrieren, zu ändern und die Registrierung aufzuheben. Wenn Sie in der Konfiguration nachsehen, sehen Sie ein auskommentiertes Beispiel für eine Call-to-Action-Kategorie:
' block_category ' => [
' cta ' => [
' title ' => ' Call to Action ' ,
' icon ' => ' star-filled ' ,
],
],
Dies würde zu einer Blockkategorie mit einer Menge cta
führen. Sobald Ihre Blockkategorie registriert ist, müssen Sie einen Block bei seinem Slug registrieren, bevor die Kategorie im Editor angezeigt wird.
In der einfachsten Form können Sie einfach eine Zeichenfolge übergeben:
' block_category ' => [
' my-cool-blocks ' ,
],
was dazu führen würde, dass eine my-cool-blocks
-Kategorie den Slug automatisch in die Groß-/Kleinschreibung des Titels umwandelt.
Sie können den Titel auch angeben, indem Sie einen Wert an Ihren Slug übergeben:
' block_category ' => [
' my-cool-blocks ' => ' Best Blocks, World. ' ,
],
Wie bei Beitragstypen und Taxonomien ist das Ändern einer vorhandenen Blockkategorie dasselbe wie das Registrieren einer solchen:
' block_category ' => [
' layouts ' => ' Sections ' ,
' common ' => [ ' icon ' => ' star-filled ' ],
],
Sie können die Registrierung einer vorhandenen Blockkategorie aufheben, indem Sie einfach false
übergeben:
' block_category ' => [
' common ' => false ,
],
Poet kann auch Blockmuster für Sie registrieren, mit einer optionalen Blade-Ansicht für den Inhalt.
Muster werden unter Verwendung des namespace/label
registriert, der bei der Registrierung des Musters beim Editor definiert wurde.
Wenn kein Namespace angegeben wird, wird stattdessen die Textdomäne des aktuellen Themes verwendet.
Das Registrieren eines Blocks ist in den meisten Fällen so einfach wie:
' block_pattern ' => [
' sage/hero ' => [
' title ' => ' Page Hero ' ,
' description ' => ' Draw attention to the main focus of the page, and highlight key CTAs ' ,
' categories ' => [ ' all ' ],
],
],
Sie können hier auch den eigentlichen Inhalt für das Muster registrieren, indem Sie den content
verwenden. Oder lassen Sie es leer, um eine entsprechende Blade-Ansicht zu verwenden.
' 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 --> ' ,
],
],
Wenn angesichts des Blocks sage/fake-paragraph
kein content
definiert ist, befindet sich Ihre zugehörige Blade-Ansicht unter views/block-patterns/fake-paragraph.blade.php
.
Diese Blockmusteransicht könnte wie folgt aussehen:
<!-- 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 -->
Blockmusterkategorien können mit dem folgenden Code in der Poet-Konfiguration hinzugefügt werden:
' block_pattern_category ' => [
' all ' => [
' label ' => ' All Patterns ' ,
],
],
Sie können alle Kategorieeigenschaften wie z. B. label
gemäß dem Blockeditor-Handbuch angeben.
Hinweis: Wenn derzeit überhaupt keine Blockmusterkategorien verfügbar sind, stürzt die Registerkarte „Blockmuster“ im Editor ab, wenn darauf geklickt wird.
Poet versucht, die Registrierung einer Farbpalette beim Editor ein wenig zu vereinfachen, indem er kein so strenges, fragiles Array-Markup erfordert.
Während Sie das Array natürlich direkt übergeben können, können Sie Farben auch registrieren, indem Sie einfach einen Slug zusammen mit einer Farbe übergeben und Poet den Rest überlassen.
' palette ' => [
' red ' => ' #ff0000 ' ,
' blue ' => ' #0000ff ' ,
],
Alternativ zur Übergabe eines Arrays akzeptiert Poet auch eine JSON
Datei, die Ihre Farbpalette enthält. Poet sucht im Allgemeinen standardmäßig in dist/
nach dieser Datei.
' palette ' => ' colors.json ' ,
Wenn Sie das Palette Webpack Plugin verwenden, können Sie auch einfach true
übergeben, um beim Build automatisch die generierte palette.json
zu verwenden.
' palette ' => true ,
Wenn Sie einen Fehler in Poet entdecken, öffnen Sie bitte ein Problem.
Es wird gefördert und geschätzt, einen Beitrag zu leisten, sei es durch PRs, die Meldung eines Problems oder das Vorschlagen einer Idee.
Poet wird unter der MIT-Lizenz bereitgestellt.