WPConsent está diseñado para ser fácilmente personalizado para que coincida con la marca de su sitio. Aunque está diseñado para funcionar de forma inmediata sin entrar en conflicto con tu tema, puedes controlar su apariencia utilizando una moderna función CSS llamada CSS ::part() selectores.
Esta guía explica por qué WPConsent está construido de esta manera y cómo puede aplicar con seguridad sus propios estilos.
Por qué WPConsent utiliza Shadow DOM
Es posible que observe que la orientación de los elementos de banner con CSS estándar (como .wpconsent-button) no funciona. Esto es intencionado y es gracias a una tecnología llamada DOM en la sombra.
¿Qué es el DOM en la sombra?
Shadow DOM es un estándar web que crea una "burbuja" aislada para el banner WPConsent. Este aislamiento proporciona dos ventajas clave:
- Aislamiento de estilos: Los estilos dentro del banner (como nuestros estilos de botón) no pueden filtrarse y afectar a su sitio web principal.
- Protección contra estilos externos: Estilos de su tema u otros plugins (como
button { background: red !important; }) no puede romper accidentalmente el diseño o la apariencia del banner.
Al utilizar Shadow DOM, WPConsent garantiza la máxima compatibilidad con todos los temas y plugins de WordPress, proporcionando un banner coherente y funcional en todos los sitios.
Cómo personalizar con CSS ::part() Selectores
Para permitir la personalización en esta burbuja aislada, WPConsent "expone" elementos específicos utilizando un part atributo. Puede aplicar estilo a estas partes utilizando el atributo ::part() pseudo-selector.
Paso 1: Añada su CSS personalizado
Puedes añadir tu CSS personalizado en los mismos lugares que lo harías normalmente. En tu tema o usando un plugin de fragmentos de código como WPCode. Para más opciones sobre cómo añadir CSS a su sitio echa un vistazo a este artículo.
Paso 2: Utilice la función ::part() Sintaxis
Todos los selectores de partes de WPConsent deben comenzar apuntando al contenedor principal, #wpconsent-container. A partir de ahí, se utiliza ::part() para seleccionar el elemento específico que desea cambiar.
He aquí algunas personalizaciones comunes para empezar.
Ejemplo 1: Mover el botón flotante de configuración
Una vez descartado el banner, puede aparecer un botón flotante de "configuración". Por defecto, está en la parte inferior izquierda. Movámoslo a la esquina inferior derecha.
#wpconsent-container::part(wpconsent-settings-button) {
left: auto;
right: 20px;
bottom: 20px; /* Make sure to set the bottom position too */
}
Ejemplo 2: Cambiar el botón "Aceptar todo" del panel de preferencias
El botón "Aceptar todo" dentro del modal de preferencias (wpconsent-preferences-accept-button) tiene por defecto el estilo del botón "Aceptar" del banner principal. Puede anularlo para darle un estilo único.
Hagamos un degradado azul.
#wpconsent-container::part(wpconsent-preferences-accept-button) {
background: linear-gradient(135deg, #3b82f6 0%, #60a5fa 100%);
color: white;
border: none;
font-weight: 600;
}
Tabla completa de referencia de piezas
Puede personalizar docenas de elementos dentro del banner y el modal de preferencias. Utilice esta tabla para encontrar el part para el elemento al que desea aplicar estilo.
| Nombre de la pieza | Tipo de elemento | Ubicación | Propósito |
wpconsent-banner | div | Contenedor banner | Banner principal |
wpconsent-banner-body | div | Banner | Área de contenido del mensaje |
wpconsent-banner-footer | div | Banner | Botón contenedor |
wpconsent-button-accept | botón | Banner pie de página | Botón Aceptar todo |
wpconsent-button-cancel | botón | Banner pie de página | Botón Rechazar todo |
wpconsent-button-preferences | botón | Banner pie de página | Botón Preferencias |
wpconsent-preferences-modal | div | Pantalla completa | Superposición modal |
wpconsent-preferences-content | div | Modal | Caja de contenido blanca |
wpconsent-preferences-header | div | Modal | Sección de cabecera |
wpconsent-preferences-title | h2 | Cabecera modal | "Encabezado "Preferencias de cookies |
wpconsent-preferences-close | botón | Cabecera modal | X Botón de cierre |
wpconsent-preferences-description | div | Modal | Descripción del texto |
wpconsent-preferences-accordion | div | Modal | Contenedor acordeón |
wpconsent-accordion-item | div | Acordeón | Artículo individual |
wpconsent-category-{slug} | div | Acordeón | Categoría específica (esencial, estadística, marketing) |
wpconsent-service-{slug} | div | Acordeón | Servicio específico |
wpconsent-accordion-header | div | Elemento de acordeón | Cabecera |
wpconsent-accordion-toggle | botón | Cabecera acordeón | Botón de expandir/contraer |
wpconsent-accordion-content | div | Elemento de acordeón | Contenido ampliable |
wpconsent-checkbox-toggle | etiqueta | Cabecera acordeón | Envoltura de interruptor basculante |
wpconsent-checkbox-toggle-disabled | etiqueta | Cabecera acordeón | Conmutador desactivado |
wpconsent-cookies-list | div | Contenido del acordeón | Contenedor de la lista de galletas |
wpconsent-cookies-list-header | div | Lista de cookies | Fila de cabecera |
wpconsent-cookies-list-item | div | Lista de cookies | Fila individual de galletas |
wpconsent-preferences-actions | div | Fondo modal | Ámbito de actuación |
wpconsent-preferences-buttons | div | Acciones | Botón contenedor |
wpconsent-preferences-buttons-left | div | Acciones | Grupo de botones izquierdo |
wpconsent-preferences-accept-button | botón | Acciones | Aceptar todo en modal |
wpconsent-preferences-save-button | botón | Acciones | Guardar preferencias |
wpconsent-preferences-cancel-button | botón | Acciones | Cerrar/Cancelar |
wpconsent-settings-button | botón | Posición fija | Botón flotante de configuración |
wpconsent-cookie-policy-item | div | Acordeón | Política de cookies |