Poet proporciona tipos de publicación, taxonomía, paleta de colores del editor, categoría de bloque, patrón de bloque y registro/modificación de bloque basados en una configuración simple.
Tools
usando su barra de página. Instalar a través de Composer:
$ composer require log1x/poet
Comience publicando el archivo de configuración de Poet usando Acorn:
$ wp acorn vendor:publish --provider= " Log1xPoetPoetServiceProvider "
Toda la configuración relacionada con Poet se encuentra en config/poet.php
. Aquí encontrará un ejemplo de tipo de publicación de libro preconfigurado con algunas configuraciones comunes:
' 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 ' ,
],
],
],
En su forma más simple, se puede crear un tipo de publicación simplemente pasando una cadena:
' post ' => [
' book ' ,
],
Para modificar un tipo de publicación existente, simplemente trátelo como si estuviera creando un nuevo tipo de publicación pasando solo las opciones de configuración que desea cambiar:
' post ' => [
' post ' => [
' labels ' => [
' singular ' => ' Article ' ,
' plural ' => ' Articles ' ,
],
],
],
También es posible cancelar el registro de un tipo de publicación existente simplemente pasando false
:
' post ' => [
' book ' => false ,
],
Tenga en cuenta que algunos tipos de publicaciones integradas (por ejemplo, Publicaciones) no se pueden cancelar del registro de manera convencional.
Para opciones de configuración adicionales para tipos de publicaciones, consulte:
register_post_type()
register_extended_post_type()
Nota : No anide la configuración en una clave
config
como se muestra en la documentación de CPT extendidos.
Registrar una taxonomía es similar a un tipo de publicación. Al buscar en config/poet.php
, verá una taxonomía de Género que acompaña al tipo de publicación de Libro predeterminado:
' taxonomy ' => [
' genre ' => [
' links ' => [ ' book ' ],
' meta_box ' => ' radio ' ,
],
],
La opción de configuración más relevante son links
que definen el tipo de publicación al que está conectada la taxonomía. Si no se especifica ningún enlace, se post
de forma predeterminada.
Para ver un archivo para la taxonomía de Género, copie la plantilla Blade llamada archive.blade.php
a un nuevo archivo llamado taxonomy-genre.blade.php
.
En su forma más simple, simplemente puedes pasar una cadena. El siguiente ejemplo crearía una taxonomía de tema para el tipo de publicación:
' taxonomy ' => [
' topic ' ,
],
Al igual que con los tipos de publicaciones, para modificar una taxonomía existente, simplemente pase solo las opciones de configuración que desea cambiar:
' taxonomy ' => [
' category ' => [
' labels ' => [
' singular ' => ' Section ' ,
' plural ' => ' Sections ' ,
],
],
],
Además, al igual que los tipos de publicaciones, puedes cancelar fácilmente el registro de una taxonomía existente simplemente pasando false
:
' taxonomy ' => [
' post_tag ' => false ,
' category ' => false ,
],
Para opciones de configuración adicionales para taxonomías, consulte:
register_taxonomy()
register_extended_taxonomy()
Nota : No anide la configuración en una clave
config
como se muestra en la documentación de CPT extendidos.
Poet proporciona una manera fácil de registrar un bloque de Gutenberg con el editor utilizando una vista Blade adjunta para representar el bloque en la interfaz.
Los bloques se registran utilizando el namespace/label
definido al registrar el bloque con el editor.
Si no se proporciona ningún espacio de nombres, se utilizará el dominio de texto del tema actual.
Registrar un bloque en la mayoría de los casos es tan simple como:
' block ' => [
' sage/accordion ' ,
],
Dado el bloque sage/accordion
, la vista Blade que lo acompaña se ubicaría en views/blocks/accordion.blade.php
.
Las vistas de bloque tienen las siguientes variables disponibles:
$data
: un objeto que contiene los datos del bloque.$content
: una cadena que contiene el contenido de InnerBlocks. Devuelve null
cuando está vacío. De forma predeterminada, al verificar si $content
está vacío, se pasa por un método para eliminar todas las etiquetas y espacios en blanco antes de evaluar. Esto asegura que el editor se hinche como nbsp;
o las etiquetas <p></p>
vacías no hacen que $content
siempre devuelva true
cuando se usa en un condicional.
Si no desea este comportamiento en un bloque en particular, simplemente regístrelo como una matriz:
' block ' => [
' sage/accordion ' => [ ' strip ' => false ],
],
Si necesita registrar atributos de bloque usando PHP en un bloque en particular, simplemente pase los atributos en una matriz al registrarse:
' block ' => [
' sage/accordion ' => [
' attributes ' => [
' title ' => [
' default ' => ' Lorem ipsum ' ,
' type ' => ' string ' ,
],
],
],
],
Considere un bloque de acordeón que está registrado con un title
y un atributo className
. Su vista podría verse así:
<div class="wp-block-accordion {{ $ data -> className ?? '' }}">
@ isset ( $ data -> title )
<h2>{!! $ data -> title !!}</h2>
@endisset
<div>
{!! $ content ?? ' Please feed me InnerBlocks. ' !!}
</div>
</div>
Poet proporciona una manera fácil de registrar, modificar y cancelar el registro de categorías de bloques de Gutenberg. Al mirar la configuración, verá un ejemplo comentado para una categoría de llamado a la acción:
' block_category ' => [
' cta ' => [
' title ' => ' Call to Action ' ,
' icon ' => ' star-filled ' ,
],
],
Esto daría como resultado una categoría de bloque con un slug de cta
. Una vez que su categoría de bloque esté registrada, debe registrar un bloque en su slug antes de que la categoría aparezca en el editor.
En su forma más simple, simplemente puedes pasar una cadena:
' block_category ' => [
' my-cool-blocks ' ,
],
lo que daría como resultado una categoría my-cool-blocks
que convertiría automáticamente el slug en mayúsculas y minúsculas.
También puedes especificar el título pasando un valor a tu slug:
' block_category ' => [
' my-cool-blocks ' => ' Best Blocks, World. ' ,
],
Al igual que los tipos de publicaciones y las taxonomías, modificar una categoría de bloque existente es lo mismo que registrar una:
' block_category ' => [
' layouts ' => ' Sections ' ,
' common ' => [ ' icon ' => ' star-filled ' ],
],
Puedes cancelar el registro de una categoría de bloque existente simplemente pasando false
:
' block_category ' => [
' common ' => false ,
],
Poet también puede registrar patrones de bloques por usted, con una vista Blade opcional para el contenido.
Los patrones se registran utilizando el namespace/label
definido al registrar el patrón con el editor.
Si no se proporciona ningún espacio de nombres, se utilizará el dominio de texto del tema actual.
Registrar un bloque en la mayoría de los casos es tan simple como:
' block_pattern ' => [
' sage/hero ' => [
' title ' => ' Page Hero ' ,
' description ' => ' Draw attention to the main focus of the page, and highlight key CTAs ' ,
' categories ' => [ ' all ' ],
],
],
También puedes registrar el contenido real del patrón aquí, usando la clave content
. O déjelo en blanco para usar la vista de hoja correspondiente.
' 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 --> ' ,
],
],
Dado el bloque sage/fake-paragraph
, si no se define ninguna clave content
, entonces la vista Blade que lo acompaña se ubicaría en views/block-patterns/fake-paragraph.blade.php
.
Esta vista de Patrón de bloques puede verse así:
<!-- 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 -->
Las categorías de patrones de bloques se pueden agregar con el siguiente código en la configuración del poeta:
' block_pattern_category ' => [
' all ' => [
' label ' => ' All Patterns ' ,
],
],
Puede especificar todas las propiedades de la categoría, como label
, según el manual del editor de bloques.
Nota: Actualmente, si no hay ninguna categoría de patrón de bloque disponible, la pestaña Patrones de bloque en el editor fallará al hacer clic en ella.
Poet intenta simplificar un poco el registro de una paleta de colores con el editor al no requerir un marcado de matriz tan estricto y frágil.
Si bien, por supuesto, puedes pasar dicha matriz directamente, también puedes registrar colores simplemente pasando un slug junto con un color y dejando que Poet se encargue del resto.
' palette ' => [
' red ' => ' #ff0000 ' ,
' blue ' => ' #0000ff ' ,
],
Como alternativa a pasar una matriz, Poet también acepta un archivo JSON
que contiene su paleta de colores. Poet generalmente buscará este archivo en dist/
de forma predeterminada.
' palette ' => ' colors.json ' ,
Si está utilizando el complemento Palette Webpack, también puede simplemente pasar true
para usar automáticamente el palette.json
generado durante la compilación.
' palette ' => true ,
Si descubre un error en Poet, abra un problema.
Se recomienda y aprecia la contribución, ya sea a través de relaciones públicas, informando sobre un problema o sugiriendo una idea.
Poeta se proporciona bajo la licencia MIT.