¿Dónde puedo encontrar los iconos de bloques de Gutenberg?

12 feb 2019, 11:45:46
Vistas: 57.9K
Votos: 23

¿Existe alguna documentación que muestre los nombres de los iconos de bloques de Gutenberg en la documentación de WordPress?

Iconos de bloques de Gutenberg

Para dar contexto, estoy usando bloques ACF para Gutenberg, y necesito encontrar una referencia para 'icon'.

add_action('acf/init', 'my_acf_init');
function my_acf_init() {

    // verificar si existe la función
    if( function_exists('acf_register_block') ) {

        // registrar un bloque de testimonios
        acf_register_block(array(
            'name'              => 'testimonial',
            'title'             => __('Testimonial'),
            'description'       => __('Un bloque personalizado de testimonios.'),
            'render_callback'   => 'my_acf_block_render_callback',
            'category'          => 'formatting',
            'icon'              => 'admin-comments',
            'keywords'          => array( 'testimonial', 'quote' ),
        ));
    }
}
2
Comentarios

¿Existe alguna manera de agregar nuestra biblioteca existente de Font Awesome a este módulo de bloque de íconos?

Jen Niles Jen Niles
15 feb 2022 21:56:39

Existe este sitio web que muestra los íconos dentro de la biblioteca @wordpress/icons. Esos íconos son los que se usan dentro de los bloques principales. Te mostrará cómo importar el ícono en JavaScript y el SVG. Espero que te ayude.

Roel Magdaleno Roel Magdaleno
16 may 2023 00:05:34
Todas las respuestas a la pregunta 4
2
30

Aquí puedes encontrar una lista de todos los iconos de Gutenberg con nombre y vista previa: https://wordpress.github.io/gutenberg/?path=/story/icons-icon--library

Para usar esto, necesitarás copiar el código fuente real del SVG.


Ejemplo: registrar un bloque ACF con el icono postExcerpt

Icono postExcerpt de Gutenberg

Necesitarás inspeccionar el elemento real y extraer el código fuente del icono SVG desde https://wordpress.github.io/gutenberg/?path=/story/icons-icon--library:

<svg><path d="M12.75 9.333c0 .521-.102.977-.327 1.354-.23.386-.555.628-.893.774-.545.234-1.183.227-1.544.222l-.12-.001v-1.5h.123c.414.001.715.002.948-.099a.395.395 0 00.199-.166c.05-.083.114-.253.114-.584V7.2H8.8V4h3.95v5.333zM7.95 9.333c0 .521-.102.977-.327 1.354-.23.386-.555.628-.893.774-.545.234-1.183.227-1.544.222l-.12-.001v-1.5h.123c.414.001.715.002.948-.099a.394.394 0 00.198-.166c.05-.083.115-.253.115-.584V7.2H4V4h3.95v5.333zM13 20H4v-1.5h9V20zM20 16H4v-1.5h16V16z"></path></svg>

Luego, puedes registrar tu bloque así:

add_action('acf/init', 'my_acf_blocks_init');
function my_acf_blocks_init() {

    // Verificar si la función existe
    if( function_exists('acf_register_block_type') ) {

        // Registrar un bloque de testimonio
        acf_register_block_type(array(
            'name'              => 'testimonial',
            'title'             => __('Testimonial'),
            'description'       => __('Un bloque de testimonio personalizado.'),
            'render_template'   => 'template-parts/blocks/testimonial/testimonial.php',
            'category'          => 'formatting',
            'icon'              => '<svg><path d="M12.75 9.333c0 .521-.102.977-.327 1.354-.23.386-.555.628-.893.774-.545.234-1.183.227-1.544.222l-.12-.001v-1.5h.123c.414.001.715.002.948-.099a.395.395 0 00.199-.166c.05-.083.114-.253.114-.584V7.2H8.8V4h3.95v5.333zM7.95 9.333c0 .521-.102.977-.327 1.354-.23.386-.555.628-.893.774-.545.234-1.183.227-1.544.222l-.12-.001v-1.5h.123c.414.001.715.002.948-.099a.394.394 0 00.198-.166c.05-.083.115-.253.115-.584V7.2H4V4h3.95v5.333zM13 20H4v-1.5h9V20zM20 16H4v-1.5h16V16z"></path></svg>'
        ));
    }
}

Resultado:

Bloque ACF con icono personalizado

Más información sobre bloques ACF en https://www.advancedcustomfields.com/resources/acf_register_block_type/

22 abr 2020 21:54:26
Comentarios

¡Esta debería ser la respuesta correcta, gracias!

Nathan Nathan
21 jul 2021 03:53:52

+1 por recordarme que puedo simplemente poner un SVG ahí!!! - pero nota para otros / recuerda si estás usando el block.json - ¡nota las comillas! : )

sheriffderek sheriffderek
28 oct 2022 02:44:58
3
23

Gutenberg está utilizando dashicons.
Puedes encontrar tu icono de ejemplo aquí, y una hoja de referencia de dashicons aquí.

12 feb 2019 12:36:32
Comentarios

Muchos de los íconos de Gutenberg son SVGs personalizados, así que no esperes encontrar todos los íconos en la lista de dashicon. Sin embargo, también puedes pasar un SVG personalizado al registro del bloque ACF.

tmdesigned tmdesigned
12 feb 2019 12:44:55

En esta ocasión, los dashicons funcionan para lo que necesito. Investigaré sobre los SVGs personalizados para ACF, gracias.

Sam Sam
12 feb 2019 13:34:31

El prefijo "dashicons-" debe eliminarse para que esto funcione

Tahi Reu Tahi Reu
27 dic 2021 23:26:27
0

Me encantaría que me corrigieran si me equivoco, pero parece que solo los dashicons pueden usarse "por nombre" de esta manera - los íconos de Gutenberg parecen estar como HTML en línea (JSX) en archivos .js (gutenberg/packages/icons/src/library) así que no creo que puedan usarse desde PHP.

Si estás buscando los íconos reales, muchos de ellos parecen ser íconos de Material UI. Por ejemplo, el ícono del bloque de Imagen y el lápiz de la barra superior:

Ícono "Foto" de Material Design Ícono "Crear" de Material Design

Así que podrías usar esos en su lugar, o simplemente copiar el SVG que necesites del repositorio de GitHub. Pero de cualquier forma vas a tener que manejar manualmente algunos SVGs

9 abr 2020 07:06:29
0

También es posible crear una clase CSS como:

 .dashicons-travel-new{
     background-image: url(../images/travel.svg);
     background-repeat: no-repeat;
     background-attachment: fixed;
     background-position: center;
     background-size: 100% 100%;
 }
 acf_register_block_type(array(
        'name'              => 'testimonial',
        ...
        'icon'              => 'travel-new',
        ...
    ));
15 dic 2023 20:20:23