Skip to content

Gutenberg blocks

Tres bloques de Gutenberg para insertar módulos de la tienda. Cada bloque tiene una vista previa en el editor (renderizado del lado del servidor) y una configuración en el panel lateral.

  • WordPress 6.0 o posterior
  • Editor de bloques Gutenberg (no el editor clásico)
  • El módulo correspondiente activo en los ajustes de Polski for WooCommerce

Los bloques de Polski for WooCommerce se encuentran en el insertador de bloques (el botón +) en la categoría Polski for WooCommerce. También puede buscarlos por nombre escribiendo “Polski” o el nombre del módulo.

Nombre del bloque: polski/ajax-search

Inserta un campo de búsqueda con sugerencias AJAX. Los resultados aparecen en un desplegable mientras se escribe una frase.

AtributoTipoPor defectoDescripción
placeholderstringSearch products...Texto del marcador de posición en el campo
widthstring100%Anchura del campo
showIconbooltrueIcono de lupa
showCategoryboolfalseDesplegable de filtrado por categoría
limitnumber8Límite de sugerencias
minCharsnumber3Mín. caracteres para buscar
stylestringdefaultEstilo: default, rounded, flat

El panel lateral del bloque contiene secciones:

Ajustes de búsqueda:

  • Texto del marcador de posición
  • Número mínimo de caracteres
  • Límite de resultados
  • Filtro de categoría (sí/no)

Apariencia:

  • Anchura del campo
  • Estilo (default, rounded, flat)
  • Icono de lupa (sí/no)
  • Borde (sí/no)
  • Sombra (sí/no)

Avanzado:

  • Clases CSS adicionales
  • Ancla HTML

Ejemplo de registro del bloque (implementación interna)

Section titled “Ejemplo de registro del bloque (implementación interna)”
register_block_type('polski/ajax-search', [
'api_version' => 3,
'editor_script' => 'polski-blocks-editor',
'editor_style' => 'polski-blocks-editor-style',
'style' => 'polski-blocks-style',
'render_callback' => [AjaxSearchBlock::class, 'render'],
'attributes' => [
'placeholder' => [
'type' => 'string',
'default' => __('Search products...', 'polski'),
],
'width' => [
'type' => 'string',
'default' => '100%',
],
'showIcon' => [
'type' => 'boolean',
'default' => true,
],
'showCategory' => [
'type' => 'boolean',
'default' => false,
],
'limit' => [
'type' => 'number',
'default' => 8,
],
],
]);
add_filter('polski/blocks/ajax_search/output', function (string $html, array $attributes): string {
// Modificar el HTML del bloque
return $html;
}, 10, 2);

Nombre del bloque: polski/ajax-filters

Inserta un conjunto de filtros AJAX para filtrar la lista de productos sin recargar la página.

AtributoTipoPor defectoDescripción
filtersarray['category', 'price', 'stock']Filtros activos
stylestringexpandedEstilo: expanded, compact, accordion
showCountbooltrueContadores de productos
showResetbooltrueBotón de restablecer
columnsnumber1Columnas de filtros
collapsiblebooltrueSecciones plegables

Selección de filtros:

  • Casillas de verificación para cada tipo de filtro
  • Ordenación mediante arrastrar y soltar
  • Configuración por filtro (p. ej. rangos de precio)

Apariencia:

  • Estilo de visualización (expanded, compact, accordion)
  • Número de columnas
  • Contadores (sí/no)
  • Botón de restablecer (sí/no)
  • Plegado/desplegado por defecto

Avanzado:

  • Modo AJAX / respaldo GET
  • Clases CSS adicionales

El bloque detecta automáticamente los filtros disponibles según los datos de los productos:

FiltroTipoDescripción
categoryJerarquíaCategorías de productos
priceRange sliderRango de precios
stockCheckboxEstado de inventario
saleCheckboxSolo en oferta
brandListaFabricante/marca
pa_*Lista/SwatchAtributos de productos
ratingEstrellasValoración de clientes
add_filter('polski/blocks/ajax_filters/output', function (string $html, array $attributes): string {
return $html;
}, 10, 2);

El bloque de filtros AJAX funciona mejor en la barra lateral de la página de la tienda. En un tema de bloques (FSE), añádalo a la plantilla Archive: Product en la columna lateral.

En temas clásicos, utilice el bloque en el área de widgets Shop Sidebar.

Nombre del bloque: polski/product-slider

Inserta un carrusel de productos con navegación por flechas y puntos de paginación opcionales.

AtributoTipoPor defectoDescripción
typestringlatestTipo: related, sale, featured, bestsellers, latest, category, ids
limitnumber8Límite de productos
columnsnumber4Columnas en escritorio
columnsTabletnumber2Columnas en tableta
columnsMobilenumber1Columnas en móvil
categorystringSlug de categoría
productIdsarray[]IDs de productos
showArrowsbooltrueFlechas de navegación
showDotsboolfalsePuntos de paginación
autoplayboolfalseDesplazamiento automático
autoplaySpeednumber5000Pausa entre slides (ms)
gapstring16pxEspacio entre tarjetas
titlestringTítulo
orderbystringdateOrdenar por
orderstringDESCDirección

Fuente de productos:

  • Tipo de slider (desplegable con opciones)
  • Selección de categoría (para type=category)
  • Selección de productos (para type=ids) - búsqueda con autocompletado
  • Límite de productos
  • Ordenación

Visualización:

  • Columnas (escritorio / tableta / móvil)
  • Espacio (gap)
  • Flechas (sí/no)
  • Puntos (sí/no)
  • Título

Animación:

  • Autoplay (sí/no)
  • Velocidad de autoplay (slider 1000-10000 ms)
  • Pausa al pasar el cursor

El bloque renderiza una vista previa del slider directamente en el editor de Gutenberg (renderizado del lado del servidor). La vista previa muestra productos reales de la base de datos, lo que permite evaluar la apariencia antes de publicar.

Si la tienda no tiene productos que coincidan con el tipo seleccionado (p. ej. sin productos en oferta), el bloque muestra un marcador de posición con un mensaje.

add_filter('polski/blocks/product_slider/output', function (string $html, array $attributes): string {
return $html;
}, 10, 2);
// Modificar la consulta de productos
add_filter('polski/blocks/product_slider/query_args', function (array $args, array $attributes): array {
// Excluir productos de la categoría "hidden"
$args['tax_query'][] = [
'taxonomy' => 'product_cat',
'field' => 'slug',
'terms' => 'hidden',
'operator' => 'NOT IN',
];
return $args;
}, 10, 2);

Los bloques de Polski for WooCommerce funcionan por completo con temas de bloques (Full Site Editing). Se pueden insertar en:

  • Plantillas de página
  • Plantillas de archivo de productos
  • Partes de plantilla - cabecera, pie de página, barra lateral
  • Patrones

Cada bloque genera clases CSS siguiendo la convención BEM. Además, los bloques admiten los ajustes de estilo nativos de Gutenberg:

  • Colores (texto, fondo)
  • Tipografía (tamaño, grosor, familia tipográfica)
  • Márgenes y rellenos (spacing)
  • Borde

Los bloques no aparecen en el insertador - asegúrese de que el módulo correspondiente esté activo en WooCommerce > Polski > Módulos de la tienda. Los bloques requieren la activación del módulo correspondiente.

La vista previa del bloque está vacía - compruebe que la tienda tenga productos que coincidan con el tipo seleccionado. Una base de datos de productos vacía no generará una vista previa.

Los bloques no funcionan en Elementor - estos bloques están diseñados para el editor de Gutenberg. Para Elementor, utilice shortcodes o widgets de Elementor dedicados (disponibles para la búsqueda AJAX).

Informar de problemas: github.com/wppoland/polski/issues

Esta página tiene únicamente carácter informativo y no constituye asesoramiento legal. Consulte a un abogado antes de la implementación. Polski for WooCommerce es software de código abierto (GPLv2) proporcionado sin garantía.