Recursos

Espacio dedicado a organizar enlaces a diversas herramientas y materiales útiles, clasificados cuidadosamente por categorías. Aquí encontrarás una amplia variedad de recursos que te ayudarán a mejorar tus habilidades en áreas específicas.

Importador de tarifas para el plugin «Correos Oficial»

Tutorial para importar tarifas al plugin “Correos Oficial” por peso o por coste, con o sin clases.

Qué hace y por qué

El plugin de Correos no trae importador. Este método añade una pantalla en WooCommerce Correos Importar tarifas para cargar miles de reglas desde CSV directamente al método de envío (por zona), sin tocar nada más.

Requisitos

  • WooCommerce activo.
  • Plugin Correos Oficial activo.
  • Acceso admin y WPCodeBox (o tu sistema de snippets) para pegar el código o acceso al archivo function.php
  • Tus tarifas en CSV con columnas:
    from,to,cost,condition,class

Qué permite

  • Criterio: por peso (condition=weightkg) o por coste del carrito (condition=cost).
  • Clases de envío: sin clases (productswithoutclass) o con clases (slug o “especiales”: allproducts para “pedido con varias clases”).
  • Modos: Añadir (no borra, añade) o Reemplazar (borra solo las reglas del método elegido).

Instalación del importador

  • Copia y pega el snippet PHP en WPCodeBox (o tu gestor de snippets) y actívalo.
    Archivo: importar tarifas Correos.php

Cómo preparar los CSV

A) Por peso (recomendado para paquetería)

  • Columnas: from,to,cost,condition,class
  • condition=weightkg
  • class=productswithoutclass
  • Rangos contiguos (kg): 0→1, 1→2, …
    Ejemplo:
from,to,cost,condition,class
0,1,3.21,weightkg,productswithoutclass
1,2,3.50,weightkg,productswithoutclass
2,3,3.71,weightkg,productswithoutclass

B) Por coste del carrito

  • Columnas iguales.
  • condition=cost
  • from/to en .

Ejemplo (umbral de gratis ≥50€):

from,to,cost,condition,class
0,30,9.99,cost,productswithoutclass
30,50,5.99,cost,productswithoutclass
50,999999,0.00,cost,productswithoutclass

C) Con clases de envío (opcional en otras tiendas)

  • class = slug de tu clase (p.ej. frio), o especiales:
    • productswithoutclass (productos sin clase)
    • allproducts (pedido con varias clases: fallback)

Consejo: importa primero las reglas específicas (por clase), después un fallback allproducts (quedan al final).

Uso paso a paso

  1. Crea/abre la zona y añade el método de Correos según las opciones del plugin de Correos (Paq Estándar Domicilio, Paq Ligero…).
  2. Ve a WooCommerce Correos Importar tarifas.
  3. Selecciona zona y método (Instancia: N). Fíjate en el ID de la zona, que tienes que seleccionar la instancia que le corresponda a ese ID
  4. Elige Añadir o Reemplazar.
  5. Sube el CSV
  6. Importar.

Nota: para la siguiente importación, vuelve a cargar/refrescar la página del importador.

Prompts listos para pedir a la IA los CSV desde Excel

A) Prompt por peso

Lee el Excel NOMBRE.xlsx, hoja HOJA. Genera CSV con columnas from,to,cost,condition,class para “Correos Oficial”.
Detecta tramos “Hasta X Kg” y construye intervalos: 0→1, 1→2, …
condition=weightkg, class=productswithoutclass, decimales con punto.
Un CSV por destino (Z1, Z2, Z3, Z3+, Baleares/Ceuta/Melilla, Canarias, Portugal o países AT, DE, … EU1, EU2).
Borra filas sin precio. Devuélvelos y empaquétalos en un ZIP para descargarlo.

B) Prompt por coste

Lee NOMBRE.xlsx, hoja HOJA. Genera CSV from,to,cost,condition,class por coste del carrito.
Define rangos de € (p.ej. 0–30, 30–50, ≥50 gratis).
condition=cost, class=productswithoutclass, decimales con punto.
Un CSV por zona/destino. Devuélvelos en un ZIP.

(Opcional) Si hay clases: añade CSV duplicados con class=frio, class=pesado y un fallback class=allproducts.

Prioridades y mezcla de criterios

  • Evita mezclar peso y coste en el mismo método: podrías sumar importes.
  • Si vas a cambiar de criterio, usa Reemplazar.
  • Para mantener dos lógicas, crea dos métodos distintos en la misma zona.

Diagnóstico (sin tocar la BD)

URLs útiles (estando logueado como admin y con snippets de diagnóstico activos):

  • Listar zonas/métodos/instancias: /wp-admin/?correos_diag=1
  • Ver reglas de un método: /wp-admin/?dump_rules=1&id=INSTANCIA
  • Limpiar caché de envíos: /wp-admin/?flush_ship=1

Problemas típicos

  • Instancia 0 en selector → método fantasma; añade/guarda el método real en la zona y vuelve.
  • Modal no muestra cambios → limpia caché de envíos (§8).
  • Error SQL → el importador lo muestra; revisa separador decimal (punto) y cabecera.
  • Duplicados → usa Reemplazar.
  • No aplica clase esperada → verifica class del CSV (slug correcto o productswithoutclass).
Funcion para determinar si la categoria tiene hijos

Esta función permite determinar si la categoría actual dentro de una taxonomía jerárquica (como «Categorías» en WordPress) tiene subcategorías. Su principal utilidad es saber si estamos en la última categoría de la jerarquía o si hay niveles inferiores.

🛠 Cómo funciona la función

  1. Obtiene el objeto de la consulta actual usando get_queried_object(), que devuelve el término de la taxonomía si estamos en un archivo de categoría.
  2. Verifica que el objeto pertenece a una taxonomía existente (en este caso, 'category' por defecto, pero puede cambiarse).
  3. Obtiene las subcategorías del término actual mediante get_terms(), filtrando por 'child_of' => $term_id'.
  4. Devuelve 1 si existen subcategorías o 0 si no las hay.

🚀 Uso en Bricks Builder

Si quieres ocultar o mostrar elementos en función de si una categoría tiene subcategorías, puedes utilizarlo en el Dynamic Data de Bricks dentro de un condicional:

echo:flowtitude_has_child_categories()

Y luego usar la condición "Igual a" con el valor 1 o 0.

Obtener la primera imagen de la galería de productos

Este snippet de código en PHP está diseñado para obtener la primera imagen de la galería de un producto en WooCommerce. Es especialmente útil cuando deseas mostrar una segunda imagen junto con la imagen destacada del producto en bucles de consulta o vistas personalizadas. 🎨

Funciones del Código

  1. Validación de WooCommerce activo
    • Comprueba si WooCommerce está activo antes de ejecutar el código.
    • Evita errores en caso de que el plugin no esté disponible.
  2. Obtener el producto actual
    • Recupera el producto en el contexto actual utilizando wc_get_product().
  3. Validación del producto
    • Verifica si el objeto del producto es válido para garantizar que se puede acceder a la información.
  4. Obtener la galería de imágenes
    • Recupera un array con los IDs de las imágenes en la galería del producto.
  5. Devolver la primera imagen
    • Devuelve el ID de la primera imagen de la galería si existe. Si no hay imágenes en la galería, retorna una cadena vacía.

Ventajas del Snippet

  • Mejora visual: Añade dinamismo al mostrar imágenes adicionales junto a la imagen destacada del producto.
  • Fácil integración: Compatible con bucles de consulta personalizados y diseños de productos.
  • Optimización del código: Incluye validaciones para evitar errores en entornos donde WooCommerce no esté activo o productos no válidos.

Este snippet proporciona una solución eficiente para mejorar la experiencia visual de tus listados de productos, creando interfaces más atractivas y dinámicas. 🚀✨

Etiquetas dinámicas para las valoraciones de productos

Este snippet de código en PHP está diseñado para obtener y gestionar datos de valoraciones de productos en WooCommerce. Te permite calcular y mostrar estadísticas relacionadas con las valoraciones de los clientes, como promedios, porcentajes por estrellas y totales, para crear etiquetas dinámicas que resalten la calidad y popularidad de tus productos. 🎯

Funciones Principales

  1. bt_get_product_data()
    • Recopila y almacena información clave sobre el producto actual:
      • Total de valoraciones por estrellas (rating_counts).
      • Número total de reseñas (total_reviews).
      • Promedio de las valoraciones (average_rating).
  2. bt_get_product_review_percentage($star)
    • Calcula el porcentaje de reseñas correspondientes a un número específico de estrellas.
    • Entrada: Número de estrellas (1 a 5).
    • Salida: Porcentaje correspondiente, redondeado a 2 decimales.
  3. bt_get_product_review_amount($star)
    • Devuelve la cantidad total de reseñas que dieron un número específico de estrellas.
  4. bt_get_total_product_reviews()
    • Obtiene el número total de reseñas del producto actual.
  5. bt_get_product_average_rating()
    • Calcula el promedio de todas las valoraciones del producto.
    • Redondea el resultado a un decimal.
  6. bt_get_product_average_rating_percentage()
    • Convierte el promedio de valoraciones en un porcentaje (sobre 100).
    • Ideal para barras o gráficos visuales.

Ventajas

  • Optimización de datos: La función bt_get_product_data() usa una variable estática para evitar múltiples llamadas redundantes a WooCommerce, mejorando el rendimiento.
  • Flexibilidad: Calcula diferentes métricas dinámicamente, adaptándose a diversas necesidades de diseño y funcionalidad.
  • Visualización dinámica: Útil para gráficos, barras de progreso y etiquetas relacionadas con valoraciones.

Con este snippet, puedes crear una experiencia visual impactante que muestre las valoraciones de tus productos de forma clara y profesional. 💡✨

Componente de Badges con Tailwind CSS

Este componente de badge ofrece una solución versátil para resaltar información o etiquetas en tus diseños. Su estructura flexible y variantes predefinidas permiten una integración rápida y personalizable en cualquier proyecto. 🎯

Características principales

  • Base adaptable: Incluye texto en tamaño pequeño, bordes redondeados y estilo visual limpio con opciones de color predefinidas.
  • Variedad de estilos: Diferentes variantes para ajustarse a contextos claros, oscuros o con colores destacados.
  • Uso optimizado: Diseñado con max-w-fit para ajustarse automáticamente al contenido.
  • Estilo destacado: Texto en mayúsculas y fuente seminegrita para mayor legibilidad e impacto visual.

Variantes disponibles

  1. Light (badge-light): Fondo claro y texto oscuro, ideal para entornos minimalistas.
  2. Dark (badge-dark): Fondo oscuro y texto claro, perfecto para diseños en modo oscuro.
  3. Primary (badge-primary): Colores destacados que llaman la atención, perfectos para etiquetas importantes.
  4. Secondary (badge-secondary): Una opción complementaria para etiquetas secundarias.
  5. Outline (badge-outline): Fondo blanco con borde definido, ideal para estilos más sutiles.
  6. Link (badge-link): Estilo ligero, sin fondo ni bordes, con un diseño que se asemeja a un enlace.

Ejemplos de uso

  • Badge de estado: Indicar el estado de un elemento (e.g., «Activo», «Pendiente»).
  • Categorías: Agrupar elementos por temática.
  • Destacados: Etiquetas como «Nuevo» o «Oferta».

Ventajas del componente

  • Consistencia visual: Diseñado para mantener uniformidad en el estilo de tus proyectos.
  • Escalabilidad: Fácil de adaptar y extender según las necesidades del diseño.
  • Flexibilidad: Variantes predefinidas que se integran con diferentes paletas de colores y estilos.

Este componente de badge es una herramienta sencilla pero poderosa para mejorar la organización y presentación visual de tu interfaz. 💻✨

Componente de botón con variantes para Tailwind CSS

Este componente de botón está diseñado para ser altamente flexible y personalizable, permitiendo adaptar estilos, tamaños y variantes de acuerdo con las necesidades específicas de tu proyecto. 🚀

Características principales

  • Base sólida: Configuración predeterminada que incluye propiedades esenciales como diseño fluido, redondeo, transiciones suaves y espacio entre elementos.
  • Interactividad: Respuestas dinámicas al enfoque (focus) y al pasar el cursor (hover), incluyendo efectos de escala y transiciones.
  • Estilos predefinidos: Variantes listas para usar, como light, dark, primary, secondary, link y outline.
  • Tamaños personalizables: Opciones de tamaño (xs, sm, lg, xl) para adaptarse a diferentes contextos.
  • Diseño flexible: Clases para ancho completo (block) o estilo ancho adicional (wide).

Variantes disponibles

  1. Light (btn-light): Fondo claro y texto oscuro, ideal para interfaces minimalistas.
  2. Dark (btn-dark): Fondo oscuro con texto claro, perfecto para diseños con modo oscuro.
  3. Primary (btn-primary): Colores destacados, ideal para llamadas a la acción.
  4. Secondary (btn-secondary): Colores secundarios para complementos o acciones secundarias.
  5. Link (btn-link): Botón estilo enlace, sin fondo ni bordes.
  6. Outline (btn-outline): Botón con borde definido y sombra al pasar el cursor.

Tamaños personalizables

  • btn-xs: Tamaño extra pequeño.
  • btn-sm: Tamaño pequeño.
  • btn-lg: Tamaño grande.
  • btn-xl: Tamaño extra grande.

Extras

  • Ancho completo: Utiliza btn-block para un botón que ocupe toda la línea.
  • Estilo ancho adicional: Añade btn-wide para botones más amplios con espaciado extra.

Este componente ofrece una base escalable y sencilla para cualquier diseño, manteniendo la consistencia y flexibilidad que necesitas en tus proyectos. 🎨💻

Redirigir a la entrada directamente si el archive solo tiene una

Este snippet redirige automáticamente al usuario a la única entrada encontrada en una página de archivo (como categorías, etiquetas o taxonomías personalizadas) si solo existe una publicación para mostrar. Esto mejora la experiencia del usuario al ahorrarles el paso adicional de hacer clic en la única entrada disponible.

Nota: Asegúrate de que esta funcionalidad sea adecuada para tu sitio, especialmente si los archivos tienen otro contenido además de las publicaciones. Este código utiliza wp_redirect() para realizar la redirección.

Eliminar pestañas de información del producto en la single con WooCommerce

Este snippet permite eliminar pestañas específicas de la página de producto en WooCommerce, como la descripción, las reseñas y la información adicional. Es útil para simplificar la presentación de los productos y personalizar la experiencia del usuario según las necesidades de tu tienda.

Nota: Puedes ajustar el código eliminando o añadiendo las líneas unset() correspondientes a las pestañas que deseas deshabilitar. Las opciones disponibles incluyen:

  • 'description': Descripción del producto.
  • 'reviews': Reseñas de los clientes.
  • 'additional_information': Información adicional sobre el producto.
Eliminar mensaje de añadido al carrito en WooCommerce

Este snippet desactiva el mensaje que aparece por defecto en WooCommerce cuando un producto se añade al carrito. Es útil si prefieres una experiencia más limpia y minimalista para tus clientes, evitando distracciones en el proceso de compra.

Nota: Este ajuste solo afecta la visualización del mensaje, pero no interfiere con la funcionalidad de añadir productos al carrito.

Desactiva tamaños de imagen de WordPress

Este snippet te permite deshabilitar la generación automática de ciertos tamaños de imagen que WooCommerce crea al subir nuevas imágenes a la biblioteca de medios. Es especialmente útil si deseas optimizar el uso de espacio en tu servidor al evitar tamaños que no necesitas.

Importante: Este código no elimina las imágenes ya generadas. Si necesitas limpiar los tamaños de imagen previamente creados, deberás usar un plugin para regenerar miniaturas.