Snippets

Sección dedicada a compartir y explorar snippets útiles para WordPress y WooCommerce. Encuentra fragmentos de código para personalizar, optimizar y mejorar tus proyectos sin necesidad de añadir más plugins de los necesarios.

La idea es sencilla: cuando alguien está leyendo una entrada (o viendo un CPT), queremos que debajo aparezcan contenidos realmente relacionados, no lo último publicado.

En lugar de hacerlo a mano o depender de plugins extra, usamos el propio Query Loop de Bricks para “mirar” el contenido actual, capturar sus términos (categoría, etiqueta, o la taxonomía que uses) y construir una query que traiga solo los posts (o CPTs) que comparten esa misma clasificación.

Cómo se usa

  1. En el template de single, añade un contenedor y activa Query Loop.
  2. Selecciona Query editor (PHP).
  3. Pega el snippet.
  4. Configura:
    • target_post_type → lo que quieres listar (ej. post)
    • taxonomies → slug real de la taxonomía (ej. category, mi_tax)
    • posts_per_page → número de resultados

Opciones útiles

  • exclude_current = 'auto'
    Excluye el post actual solo cuando tiene sentido (cuando source y target son el mismo tipo).
  • fallback = 'none'
    Si el contenido actual no tiene términos, no muestra resultados (evita “posts no relacionados”).
  • include_children = true/false
    Si tienes jerarquías (categorías), true amplía el match a subcategorías. Si te trae demasiados, ponlo en false.
  • match = any/all
    • any: “comparten algo” (más resultados)
    • all: “tienen que coincidir en todo” (más estricto)

Problemas típicos

  • No aparece nada → casi siempre es porque el slug de la taxonomía está mal o el post no tiene términos asignados.
  • Aparecen posts raros → suele ser el fallback (latest). Para related, lo normal es fallback = none.
...

Este snippet en PHP te permite actualizar una URL antigua por una nueva en toda la base de datos de WordPress, algo especialmente útil tras migrar un proyecto de un dominio a otro o de un subdirectorio a la raíz (por ejemplo, de https://tudominio.com/store a https://nuevo.tudominio.com).

A diferencia de un simple REPLACE en SQL, este script:

  • Carga el entorno de WordPress usando wp-load.php.
  • Utiliza $wpdb y maybe_unserialize() para no romper datos serializados (opciones, metadatos, constructores visuales, etc.).
  • Recorre todas las tablas y todas las columnas de texto, actualizando únicamente las filas donde realmente aparece la URL antigua.

Cómo usarlo

  1. Haz una copia de seguridad de la base de datos (imprescindible).
  2. Copia el snippet en un archivo, por ejemplo: search-replace-url.php.
  3. Sube el archivo a la raíz de tu instalación (donde está wp-config.php).
  4. Edita las variables $old_url y $new_url con tus dominios.
  5. Accede a https://tusitio.com/search-replace-url.php y deja que termine el proceso.
  6. Comprueba que la web funciona correctamente.
  7. Borra el archivo del servidor cuando hayas terminado.

Ideal para:

  • Migraciones rápidas sin plugins adicionales.
  • Entornos donde prefieres tener control total sobre lo que se ejecuta.
  • Casos en los que hay muchos datos serializados (constructores, WooCommerce, plugins de SEO, etc.).
...

Panel flotante para auditar handles de CSS y JS en el frontend. Muestra handle, dependencias, versión, ubicación (media/head/footer) y URL; añade filtro de búsqueda y botón “Copiar handles”. Además, imprime un resumen en comentarios HTML (útil en “Ver código fuente”).

Funcionamiento / modos:

  • Ámbito: solo frontend. Oculto automáticamente en Elementor, Bricks, Builderius y Customizer; también se oculta si la página está embebida en iframe (vista del editor).
  • Quién lo ve:
    • Admin logueado con manage_options: visible sin parámetros.
    • Sin login: activar con el parámetro ?audit= en la URL.
  • Parámetros disponibles (?audit=):
    • 1 → activa el panel (pestaña CSS por defecto).
    • css → activa y abre CSS por defecto.
    • js → activa y abre JS por defecto.
    • force → intenta mostrarlo incluso en editores; si el builder usa iframe aislado, puede seguir ocultándose por seguridad.
  • Extras: búsqueda en cada pestaña, copia rápida de handles visibles, y comentarios HTML con el listado (CSS/JS) al final del documento.
  • Notas útiles: con minificado/“combine” verás el handle del agregador (desactívalo para auditar en crudo). En Elementor, para listar archivos, usa CSS Print Method = External File. Para desactivar el panel, elimina el mu‑plugin o quita el parámetro ?audit.
...

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.

...

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.

...

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.

...