Auto Scroll para los elementos de sliders, no están disponibles por defecto en Bricks. En este artículo, te mostraré cómo agregar la extensión Auto Scroll de Splide.js a los elementos de tipo Slider y Nested Slider en Bricks Builder. Además, exploraremos cómo aprovechar otras extensiones de Splide.js y personalizar completamente tus sliders.
¿Qué es Splide.js y por qué necesitamos la extensión Auto Scroll?
Splide.js es una biblioteca ligera y flexible para crear sliders interactivos. Bricks Builder utiliza Splide.js como base para sus elementos de slider. Sin embargo, la funcionalidad de desplazamiento automático (auto scroll) no está incluida de forma nativa.
Con la extensión Auto Scroll , puedes hacer que tus sliders se muevan automáticamente, lo cual es ideal para:
- Crear presentaciones dinámicas.
- Resaltar contenido importante.
- Mejorar la experiencia del usuario en sliders promocionales o de portafolio.
Además, esta solución no solo se limita al auto scroll. También puedes usar otras extensiones de Splide.js para añadir funcionalidades avanzadas.
Paso 1: Registrar y Cargar la Extensión Auto Scroll
El primer paso es registrar y cargar la extensión Auto Scroll . Puedes hacerlo desde un CDN o descargando el archivo y alojándolo en tu propio servidor. Aquí te muestro ambas opciones:
Opción 1: Usar un CDN
Si prefieres una solución rápida y sin complicaciones, puedes cargar la extensión directamente desde un CDN. Agrega el siguiente código PHP a las funciones de tu tema o plugin:
<?php
add_action('wp_enqueue_scripts', function() {
// Registrar y encolar el archivo JavaScript de la extensión Auto Scroll
wp_enqueue_script(
'bricks-splide-auto-scroll', // Handle (nombre único para el script)
'https://cdn.jsdelivr.net/npm/@splidejs/splide-extension-auto-scroll@0.5.3/dist/js/splide-extension-auto-scroll.min.js', // URL del JS de la extensión desde CDN
[ 'bricks-splide' ], // Dependencias (requiere el núcleo de Splide.js)
'0.5.3', // Versión del archivo
true // Cargar en el footer (true) o en el header (false)
);
}, 11 );
Opción 2: Descargar y Alojar Localmente
Si prefieres tener más control sobre los archivos o evitar dependencias externas, puedes descargar la extensión desde el repositorio oficial de Splide.js y colocarla en tu tema hijo o plugin personalizado. Por ejemplo:
- Descarga el archivo desde Splide.js Extensions .
- Colócalo en la carpeta
assets/js
de tu tema hijo o plugin. - Registra el archivo localmente:
<?php
add_action('wp_enqueue_scripts', function() {
// Registrar y encolar el archivo JavaScript de la extensión Auto Scroll (local)
wp_enqueue_script(
'bricks-splide-auto-scroll', // Handle (nombre único para el script)
get_template_directory_uri() . '/assets/js/splide-extension-auto-scroll.min.js', // Ruta al archivo local
[ 'bricks-splide' ], // Dependencias (requiere el núcleo de Splide.js)
'0.5.3', // Versión del archivo
true // Cargar en el footer (true) o en el header (false)
);
}, 11 );
Paso 2: Inicializar la Extensión con JavaScript
Una vez que la extensión está cargada, necesitamos inicializarla para aplicar el auto scroll a nuestros sliders. Aquí está el código JavaScript que debes usar:
<script>
// Esperamos a que el DOM esté completamente cargado antes de ejecutar el script
document.addEventListener("DOMContentLoaded", function (e) {
// Verificamos si estamos en el frontend de Bricks Builder
if (!bricksIsFrontend) return; // Si no estamos en el frontend, detenemos la ejecución
// Usamos un timeout para asegurarnos de que los sliders estén completamente inicializados
setTimeout(() => {
// ID del slider específico que queremos modificar (debes reemplazar "zdnpzf" con el ID real de tu slider)
const splideId = "zdnpzf";
// Accedemos a la instancia del slider desde los datos globales de Bricks
const splide = window.bricksData?.splideInstances[splideId];
// Si no encontramos la instancia del slider, mostramos un error en la consola y detenemos la ejecución
if (!splide) {
console.error(`Splide con ID "${splideId}" no encontrado.`);
return;
}
// Verificamos si las extensiones de Splide están disponibles
if (!window.splide?.Extensions) {
console.error("Las extensiones de Splide no están disponibles.");
return;
}
// Destruimos la instancia actual del slider para poder reconfigurarlo
splide.destroy();
// Configuramos nuevas opciones para el slider
splide.options = {
type: "loop", // Hacemos que el slider funcione en bucle infinito
drag: true, // Permitimos el arrastre manual del slider
focus: "center", // Centramos el foco en el slider
autoScroll: {
speed: 1, // Velocidad del auto scroll (0.5 es lento, 1 es rápido)
},
};
// Montamos la extensión Auto Scroll y aplicamos las nuevas opciones
splide.mount(window.splide.Extensions);
}, 200); // Timeout de 200ms para asegurar que los sliders estén listos
});
</script>
Explicación del Código
Verificación del Entorno :
- El script verifica si estamos en el frontend (
bricksIsFrontend
) antes de ejecutarse.
- El script verifica si estamos en el frontend (
Acceso a la Instancia de Splide :
- Usamos
window.bricksData?.splideInstances[splideId]
para acceder a la instancia específica del slider. En este caso, el ID del slider eszdnpzf
.
- Usamos
Configuración de Opciones :
- Configuramos el tipo de slider como
loop
para que se repita infinitamente. - Activamos el arrastre manual (
drag: true
) y centramos el foco.
- Configuramos el tipo de slider como
Montaje de la Extensión :
- Finalmente, montamos la extensión Auto Scroll usando
splide.mount(window.splide.Extensions)
.
- Finalmente, montamos la extensión Auto Scroll usando
Personalización Avanzada: Más Allá del Auto Scroll
Este enfoque no solo es útil para agregar la extensión Auto Scroll . También puedes usarlo para:
Agregar Otras Extensiones de Splide.js :
- Splide.js ofrece varias extensiones, como Video, Intersection, Grid, y más. Simplemente carga la extensión correspondiente y ajusta las opciones en el código JavaScript.
Personalizar Cualquier Aspecto de Tus Sliders :
- Si hay configuraciones que Bricks Builder no permite editar directamente, puedes usar este método para modificar cualquier opción de Splide.js. Por ejemplo:
- Cambiar la navegación (flechas, puntos).
- Ajustar la velocidad de transición.
- Habilitar/deshabilitar el arrastre manual.
- Si hay configuraciones que Bricks Builder no permite editar directamente, puedes usar este método para modificar cualquier opción de Splide.js. Por ejemplo:
Crear Funcionalidades Personalizadas :
- Si necesitas implementar una funcionalidad completamente nueva, como un slider que responda a eventos específicos (scroll, clics, etc.), puedes adaptar el código JavaScript para lograrlo.
Consejos Adicionales
- Personaliza la Velocidad : Puedes ajustar la propiedad
speed
en las opciones deautoScroll
para controlar la velocidad del desplazamiento. - Compatibilidad con Dispositivos Móviles : Usa los
breakpoints
para modificar el comportamiento en pantallas pequeñas. - Depuración : Si algo no funciona, revisa la consola del navegador para identificar errores.
Conclusión
Agregar la extensión Auto Scroll de Splide.js a Bricks Builder es una excelente manera de mejorar la funcionalidad de tus sliders. Además, este enfoque te permite aprovechar otras extensiones y personalizar completamente tus sliders según tus necesidades.