Gestión de Ciudades en Menú

Este plugin permite definir una lista de ciudades y modifica dinámicamente los enlaces del menú de navegación de tu sitio web de WordPress según la ciudad especificada en la URL. Además, ofrece la posibilidad de excluir páginas específicas de esta modificación, proporcionando una mayor flexibilidad en la gestión de contenido basado en ubicación.


Características Principales

  1. Lista de Ciudades Personalizable: Define una o varias ciudades que serán utilizadas para personalizar los enlaces del menú.
  2. Ciudad por Defecto: Establece una ciudad predeterminada que se utilizará cuando no se especifique ninguna ciudad en la URL.
  3. Exclusión de Páginas Específicas: Selecciona páginas que no serán afectadas por la modificación de los enlaces del menú basados en la ciudad.
  4. Modificación Dinámica de Enlaces: Los enlaces del menú se adaptan automáticamente para incluir la ciudad actual, mejorando la navegación y relevancia del contenido según la ubicación del usuario.

Instalación del Plugin

  1. Descarga del Plugin:
    • Asegúrate de tener el archivo PHP del plugin gestion-ciudades-menu.php.
  2. Subida del Plugin:
    • Accede al panel de administración de tu sitio WordPress.
    • Navega a Plugins > Añadir nuevo.
    • Haz clic en Subir plugin y selecciona el archivo gestion-ciudades-menu.php.
    • Haz clic en Instalar ahora y luego en Activar plugin.
  3. Verificación:
    • Una vez activado, deberías ver una nueva opción en el menú de administración llamada Gestión de Ciudades bajo Ajustes.

Configuración del Plugin

  1. Acceso a la Página de Configuración:
    • En el panel de administración de WordPress, ve a Ajustes > Gestión de Ciudades.
  2. Configuración de la Lista de Ciudades:
    • Campo: Lista de Ciudades
    • Descripción: Introduce las ciudades que deseas gestionar, separadas por comas.
    • Ejemplo: Barcelona, Madrid, Valencia
    • Formato Recomendado: Utiliza nombres en minúsculas y sin acentos para evitar conflictos en las URLs.
  3. Configuración de la Ciudad por Defecto:
    • Campo: Ciudad por Defecto
    • Descripción: Especifica una ciudad que se utilizará cuando no se encuentre ninguna ciudad en la URL.
    • Importante: La ciudad por defecto debe estar incluida en la Lista de Ciudades.
  4. Configuración de Páginas Excluidas:
    • Campo: Páginas Excluidas
    • Descripción: Introduce los slugs (identificadores únicos en la URL) de las páginas que no deben tener la ciudad añadida o modificada en sus URLs, separadas por comas.
    • Ejemplo: inicio, contacto, sobre-nosotros
    • Uso: Ideal para páginas que requieren una URL constante sin variaciones por ciudad.
  5. Guardado de Configuraciones:
    • Después de introducir todos los valores necesarios, haz clic en el botón Guardar cambios para aplicar la configuración.

Funcionamiento Interno del Plugin

  1. Registro de Ajustes:
    • El plugin utiliza la API de opciones de WordPress para registrar y sanitizar las configuraciones introducidas por el usuario, asegurando que los datos sean seguros y consistentes.
  2. Modificación de Enlaces del Menú:
    • Utiliza el filtro wp_nav_menu_objects para interceptar y modificar los enlaces del menú en el front-end.
    • Detección de Ciudad en la URL:
      • Analiza la URL actual para identificar si contiene una ciudad definida en la Lista de Ciudades.
      • Si no se encuentra una ciudad en la URL, utiliza la Ciudad por Defecto si está establecida.
    • Actualización de Enlaces:
      • Recorre cada elemento del menú y ajusta su URL para incluir la ciudad actual, ya sea añadiéndola o reemplazándola si ya existe una ciudad en la URL.
      • Exclusión de Páginas Específicas:
        • Antes de modificar una URL, verifica si el slug de la página está en la lista de Páginas Excluidas. Si es así, la URL no se modifica.
  3. Manejo de Fragments en URLs:
    • El plugin verifica si una URL contiene un fragmento (parte después de #) y omite la modificación de tales URLs para evitar conflictos con enlaces internos o secciones específicas de la página.
  4. Funciones Auxiliares:
    • append_or_replace_city: Añade o reemplaza la ciudad en un segmento de la URL.
    • get_current_city: Obtiene la ciudad actual de la URL.
    • get_slug_from_url: Extrae el slug de una página a partir de su URL.

Consideraciones y Buenas Prácticas

  • Formato de Ciudades y Slugs:
    • Asegúrate de que los nombres de las ciudades y los slugs de las páginas estén en minúsculas y sin caracteres especiales para evitar problemas en las URLs.
  • Sin Ciudad en la URL:
    • Si no se especifica una ciudad en la URL y no se ha establecido una ciudad por defecto, los enlaces del menú no se modificarán, manteniendo su estructura original.
  • Exclusión de Páginas Críticas:
    • Utiliza la opción de Páginas Excluidas para proteger páginas que requieren URLs constantes, como la página de inicio, contacto o cualquier otra página esencial de tu sitio.
  • Compatibilidad con Estructuras de URL:
    • El plugin está diseñado para funcionar con estructuras de URL amigables. Asegúrate de que los enlaces de tu menú están correctamente configurados para beneficiarte de la funcionalidad del plugin.

Ejemplo Práctico de Uso

Supongamos que tienes un sitio web de una cadena de tiendas en diferentes ciudades y deseas personalizar los enlaces del menú para reflejar la ciudad seleccionada por el usuario.

  1. Configuración:
    • Lista de Ciudades: barcelona, madrid, valencia
    • Ciudad por Defecto: barcelona
    • Páginas Excluidas: inicio, contacto
  2. Resultado:
    • Si la URL actual es https://tusitio.com/madrid/productos, los enlaces del menú se actualizarán para incluir madrid, por ejemplo: https://tusitio.com/madrid/sobre-nosotros.
    • Si la URL no contiene una ciudad, se utilizará barcelona como ciudad por defecto.
    • Las páginas inicio y contacto mantendrán sus URLs originales sin modificaciones, independientemente de la ciudad seleccionada.

Clases en las que se ha utilizado el plugin:

Actualmente este plugin no se ha utilizado en ninguna clase

Plugins relacionados

INFORMAR - ¿Algo anda mal? *