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.

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.

...