Uso de ACF Blocks para Gutenberg

Contents

Uso de ACF Blocks para Gutenberg

Guía completa y detallada para desarrollar bloques personalizados con Advanced Custom Fields.

Introducción

Gutenberg transformó la forma de desarrollar contenidos en WordPress al introducir bloques reutilizables.
ACF Blocks extiende esta experiencia facilitando la creación de bloques con una interfaz gráfica potente y flexibilidad total.

Requisitos previos

1. Registro básico de un ACF Block

En functions.php o en un plugin personalizado, añadimos:

ltphp
add_action(acf/init, function(){
  if( function_exists(acf_register_block_type) ) {
    acf_register_block_type(array(
      name            =gt mi-bloque,
      title           =gt Mi Bloque,
      description     =gt Bloque personalizado creado con ACF.,
      render_callback =gt render_mi_bloque,
      category        =gt layout,
      icon            =gt admin-comments,
      keywords        =gt array(custom,acf,bloque),
      supports        =gt array(
        align         =gt array(wide,full),
        mode          =gt false,
        jsx           =gt true
      ),
    ))
  }
})

function render_mi_bloque(block, content = , is_preview = false){
  titulo = get_field(titulo) : Título por defecto
  include locate_template(template-parts/blocks/mi-bloque.php)
}
gt
  

2. Estructura de archivos recomendada

Para mantener orden en el tema, use:

  • template-parts/blocks/mi-bloque.php – plantilla de salida HTML.
  • template-parts/blocks/mi-bloque.css – estilos front-end.
  • template-parts/blocks/mi-bloque.js – lógica de interactividad.

Ejemplo de mi-bloque.php

ltdiv class=mi-bloque style=border:1px solid #ddd padding:20px background:#fffgt
  lth4 style=margin-top:0 color:#222gtltphp echo esc_html(titulo) gtlt/h4gt
  ltdiv class=contenidogt
    ltphp the_field(contenido) gt
  lt/divgt
lt/divgt
  

3. Definir campos con ACF

Cree un grupo de campos en el panel de ACF con ubicación:

  • Regla de ubicación: Bloque = “Mi Bloque”.
  • Campos: titulo (Texto), contenido (Editor WYSIWYG).

4. Propiedades de acf_register_block_type

Opción Descripción
name Identificador único del bloque.
title Nombre visible en Gutenberg.
category Categoría de bloques (layout, widget, embed…).
icon Icono de la librería Dashicons o SVG.
render_callback Función PHP que imprime la plantilla.
supports Configuración de funcionalidades: alineación, JSX, inserción.

5. Encolar scripts y estilos

En el mismo functions.php:

add_action(enqueue_block_assets, function(){
  wp_enqueue_style(mi-bloque-css, get_template_directory_uri() . /template-parts/blocks/mi-bloque.css, array(), 1.0)
  wp_enqueue_script(mi-bloque-js, get_template_directory_uri() . /template-parts/blocks/mi-bloque.js, array(jquery), 1.0, true)
})
  

6. Buenas prácticas

  • Prefijos: use prefijos únicos para nombres de bloques y campos.
  • Sanitización: utilice funciones de escape (esc_html, esc_attr).
  • Rendimiento: cargue activos sólo si el bloque está presente.
  • Internacionalización: envuelva textos en __() o _e().
  • Documentación: mantenga comentarios claros en el código.

7. Recursos adicionales

Conclusión: ACF Blocks para Gutenberg permite crear componentes de contenido altamente personalizados con un flujo de trabajo intuitivo. Siguiendo estas pautas, será capaz de desarrollar bloques robustos, limpios y eficientes.



Acepto donaciones de BAT's mediante el navegador Brave 🙂



Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *