Poet fournit un type de publication simple basé sur une configuration, une taxonomie, une palette de couleurs d'éditeur, une catégorie de bloc, un modèle de bloc et un enregistrement/modification de bloc.
Tools
à l’aide de leur slug de page. Installer via Composer :
$ composer require log1x/poet
Commencez par publier le fichier de configuration Poet à l'aide d'Acorn :
$ wp acorn vendor:publish --provider= " Log1xPoetPoetServiceProvider "
Toute la configuration liée à Poet se trouve dans config/poet.php
. Vous trouverez ici un exemple de type de publication de livre préconfiguré avec quelques paramètres courants :
' 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 ' ,
],
],
],
Dans sa forme la plus simple, un type de publication peut être créé en passant simplement une chaîne :
' post ' => [
' book ' ,
],
Pour modifier un type de publication existant, traitez-le simplement comme si vous créiez un nouveau type de publication en transmettant uniquement les options de configuration que vous souhaitez modifier :
' post ' => [
' post ' => [
' labels ' => [
' singular ' => ' Article ' ,
' plural ' => ' Articles ' ,
],
],
],
Il est également possible de désenregistrer un type de publication existant en passant simplement false
:
' post ' => [
' book ' => false ,
],
Veuillez noter que certains types de publication intégrés (par exemple, Post) ne peuvent pas être désenregistrés de manière conventionnelle.
Pour des options de configuration supplémentaires pour les types de publication, veuillez consulter :
register_post_type()
register_extended_post_type()
Remarque : n'imbriquez pas la configuration dans une clé
config
comme indiqué dans la documentation des CPT étendus.
L'enregistrement d'une taxonomie est similaire à un type de publication. En regardant dans config/poet.php
, vous verrez une taxonomie de genre accompagnant le type de publication par défaut du livre :
' taxonomy ' => [
' genre ' => [
' links ' => [ ' book ' ],
' meta_box ' => ' radio ' ,
],
],
L'option de configuration la plus pertinente est links
qui définissent le type de publication auquel la taxonomie est connectée. Si aucun lien n'est spécifié, il sera post
par défaut.
Pour afficher une archive pour la taxonomie Genre, copiez le modèle Blade appelé archive.blade.php
dans un nouveau fichier appelé taxonomy-genre.blade.php
.
Dans sa forme la plus simple, vous pouvez simplement transmettre une chaîne. L'exemple ci-dessous créerait une taxonomie de sujet pour le type de publication Post :
' taxonomy ' => [
' topic ' ,
],
Comme pour les types de publications, pour modifier une taxonomie existante, transmettez simplement uniquement les options de configuration que vous souhaitez modifier :
' taxonomy ' => [
' category ' => [
' labels ' => [
' singular ' => ' Section ' ,
' plural ' => ' Sections ' ,
],
],
],
Tout comme les types de publication, vous pouvez facilement désenregistrer une taxonomie existante en passant simplement false
:
' taxonomy ' => [
' post_tag ' => false ,
' category ' => false ,
],
Pour des options de configuration supplémentaires pour les taxonomies, veuillez consulter :
register_taxonomy()
register_extended_taxonomy()
Remarque : n'imbriquez pas la configuration dans une clé
config
comme indiqué dans la documentation des CPT étendus.
Poet fournit un moyen simple d'enregistrer un bloc Gutenberg auprès de l'éditeur à l'aide d'une vue Blade associée pour le rendu du bloc sur le frontend.
Les blocs sont enregistrés en utilisant l' namespace/label
défini lors de l'enregistrement du bloc auprès de l'éditeur.
Si aucun espace de noms n'est fourni, le domaine de texte du thème actuel sera utilisé à la place.
Dans la plupart des cas, enregistrer un bloc est aussi simple que :
' block ' => [
' sage/accordion ' ,
],
Étant donné le bloc sage/accordion
, la vue Blade qui l'accompagne serait située dans views/blocks/accordion.blade.php
.
Les vues de bloc disposent des variables suivantes :
$data
– Un objet contenant les données du bloc.$content
– Une chaîne contenant le contenu InnerBlocks. Renvoie null
lorsqu'il est vide. Par défaut, lors de la vérification si $content
est vide, il est transmis via une méthode pour supprimer toutes les balises et les espaces avant d'être évalué. Cela garantit que l'éditeur gonfle comme nbsp;
ou les balises <p></p>
vides n'entraînent pas que $content
renvoie toujours true
lorsqu'il est utilisé dans un conditionnel.
Si vous ne souhaitez pas ce comportement sur un bloc particulier, enregistrez-le simplement sous forme de tableau :
' block ' => [
' sage/accordion ' => [ ' strip ' => false ],
],
Si vous devez enregistrer des attributs de bloc en utilisant PHP sur un bloc particulier, transmettez simplement les attributs dans un tableau lors de l'enregistrement :
' block ' => [
' sage/accordion ' => [
' attributes ' => [
' title ' => [
' default ' => ' Lorem ipsum ' ,
' type ' => ' string ' ,
],
],
],
],
Considérons un bloc accordéon enregistré avec un attribut title
et className
. Votre vue pourrait ressembler à ceci :
<div class="wp-block-accordion {{ $ data -> className ?? '' }}">
@ isset ( $ data -> title )
<h2>{!! $ data -> title !!}</h2>
@endisset
<div>
{!! $ content ?? ' Please feed me InnerBlocks. ' !!}
</div>
</div>
Poet fournit un moyen simple d'enregistrer, de modifier et de désenregistrer les catégories de blocs Gutenberg. En regardant dans la configuration, vous verrez un exemple commenté pour une catégorie d'appel à l'action :
' block_category ' => [
' cta ' => [
' title ' => ' Call to Action ' ,
' icon ' => ' star-filled ' ,
],
],
Cela entraînerait une catégorie de bloc avec un slug de cta
. Une fois votre catégorie de bloc enregistrée, vous devez enregistrer un bloc dans son slug avant que la catégorie n'apparaisse dans l'éditeur.
Dans sa forme la plus simple, vous pouvez simplement passer une chaîne :
' block_category ' => [
' my-cool-blocks ' ,
],
ce qui entraînerait une catégorie my-cool-blocks
convertissant automatiquement le slug en casse du titre.
Vous pouvez également préciser le titre en passant une valeur à votre slug :
' block_category ' => [
' my-cool-blocks ' => ' Best Blocks, World. ' ,
],
Comme pour les types de publication et les taxonomies, modifier une catégorie de bloc existante revient à en enregistrer une :
' block_category ' => [
' layouts ' => ' Sections ' ,
' common ' => [ ' icon ' => ' star-filled ' ],
],
Vous pouvez désinscrire une catégorie de bloc existante en passant simplement false
:
' block_category ' => [
' common ' => false ,
],
Poet peut également enregistrer des modèles de blocs pour vous, avec une vue Blade en option pour le contenu.
Les modèles sont enregistrés à l'aide de l' namespace/label
défini lors de l'enregistrement du modèle auprès de l'éditeur.
Si aucun espace de noms n'est fourni, le domaine de texte du thème actuel sera utilisé à la place.
Dans la plupart des cas, enregistrer un bloc est aussi simple que :
' block_pattern ' => [
' sage/hero ' => [
' title ' => ' Page Hero ' ,
' description ' => ' Draw attention to the main focus of the page, and highlight key CTAs ' ,
' categories ' => [ ' all ' ],
],
],
Vous pouvez également enregistrer le contenu réel du modèle ici, à l'aide de la clé content
. Ou laissez-le vide pour utiliser une vue de lame correspondante.
' 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 --> ' ,
],
],
Étant donné le bloc sage/fake-paragraph
, si aucune clé content
n'est définie, alors la vue Blade qui l'accompagne se trouvera dans views/block-patterns/fake-paragraph.blade.php
.
Cette vue de modèle de bloc peut ressembler à ceci :
<!-- 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 -->
Les catégories de modèles de blocs peuvent être ajoutées avec le code suivant dans la configuration du poète :
' block_pattern_category ' => [
' all ' => [
' label ' => ' All Patterns ' ,
],
],
Vous pouvez spécifier toutes les propriétés de catégorie telles que label
, conformément au manuel de l'éditeur de blocs.
Remarque : actuellement, si aucune catégorie de modèles de blocs n'est disponible, l'onglet Modèles de blocs dans l'éditeur plantera lorsque vous cliquerez dessus.
Poet tente de simplifier un peu l'enregistrement d'une palette de couleurs auprès de l'éditeur en n'exigeant pas un balisage de tableau aussi strict et fragile.
Bien que vous puissiez bien sûr transmettre ledit tableau directement, vous pouvez également enregistrer des couleurs en passant simplement un slug avec une couleur et en laissant Poet gérer le reste.
' palette ' => [
' red ' => ' #ff0000 ' ,
' blue ' => ' #0000ff ' ,
],
Alternativement au passage d'un tableau, Poet accepte également un fichier JSON
contenant votre palette de couleurs. Poet recherchera généralement ce fichier dans dist/
par défaut.
' palette ' => ' colors.json ' ,
Si vous utilisez le plugin Palette Webpack, vous pouvez également simplement transmettre true
pour utiliser automatiquement le palette.json
généré lors de la construction.
' palette ' => true ,
Si vous découvrez un bug dans Poet, veuillez ouvrir un problème.
Contribuer, que ce soit par le biais de relations publiques, en signalant un problème ou en suggérant une idée, est encouragé et apprécié.
Poet est fourni sous licence MIT.