Open Street Maps con The Events Calendar plugin WordPress

Siempre que tengo que elegir un calendario de eventos para un proyecto realizado con WordPress, opto por el maravilloso plugin “The Events Calendar” by Modern Tribe. Pero hace tiempo que me incomoda mucho usar los mapas de Google Maps, y no hablemos ya de su API. Además del uso y recogida de datos que hace, ya sabéis que desde hace un tiempo para usar su API, hay que meter unos datos de facturación y eso es un problema para ciertos clientes. Así que empecé a buscar por la red, como poder integrar los mapas de OpenStreetMaps con el plugin  “The Events Calendar”.

 

Primeros intentos

Encontré un par de hilos en la parte de soporte de la web de “The Events Calendar”, https://theeventscalendar.com/support/forums/topic/open-street-maps-in-events-calendar/, https://theeventscalendar.com/support/forums/topic/implementation-of-osm-openstreetmap-2/. Después de leerlos me queda claro que la empresa que ha creado el plugin “The Events Calendar”, no le da ningún tipo de prioridad a la posibilidad de implementar los mapas de OpenStreetMap en este plugin, pero uno de los usuarios participantes en el hilo comentaba tener una posible solución, que con alguna pequeña modificación me ha servido para conseguir el objetivo.

De los hilos de soporte llegué a esta página web que fue la que me arrojó luz para llegar a la solución https://woyng.com/the-events-calendar-mit-openstreetmaps-statt-google-maps/

 

Implementación de OpenStreetMap

  1. Instalamos el plugin de Leaflet Map, que inserta mapas de OpenStreetMap a través de Shortcodes.
  2. Ahora buscamos 2 ficheros del plugin “The Event Calendar”, que se llaman map-basic.php y map.php y se encuentra en la ruta /the-events-calendar/src/views/modules/map-basic.php
  3. Copiamos estos ficheros dentro de nuestro theme activo, creando la carpeta tribe-events y dentro de esta la carpeta modules: /mi-theme/tribe-events/modules/map-basic.php, /mi-theme/tribe-events/modules/map.php 
  4. Dejamos el código de los ficheros igual, como muestro a continuación:
<?php
/**
* Template used for maps embedded within single events and venues.
* Override this template in your own theme by creating a file at:
*
* [your-theme]/tribe-events/modules/map-basic.php
*
* @version 4.6.19
*
* @var $index
* @var $width
* @var $height
*/

if ( ! defined( 'ABSPATH' ) ) {
die( '-1' );
}

$address = tribe_get_address( $venue_id ).", ".tribe_get_zip( $venue_id )." ".tribe_get_city( $venue_id ).", ".tribe_get_country( $venue_id );

$shortcode = '[leaflet-map address="'.$address.'" zoom="18"][leaflet-marker]"'.$address.'"[/leaflet-marker]';
echo do_shortcode($shortcode);

?>

 

Crear evento con localización en The Event Calendar

Ahora simplemente creamos lo eventos igual que lo hacíamos hasta ahora pero sin marcar la opción de “Mostrar enlace al mapa”, porque este nos llevaría a un mapa de Goole Maps

Creando evento en The Event Caledar

Una vez metida la dirección del evento la visualización de este quedaría así:

Si queremos personalizar el mapa, tendríamos que mirar los shortcodes del plugin Leaflet e incorporarlos al fichero /mi-theme/tribe-events/modules/map-basic.php y al fichero /mi-theme/tribe-events/modules/map.php

 

7 comentarios sobre “Open Street Maps con The Events Calendar plugin WordPress

  1. Pingback: weeklyOSM 472 | weekly – semanario – hebdo – 週刊 – týdeník – Wochennotiz – 주간

  2. Marta Contestar

    Hola Raúl,
    Yo estoy buscando solución para integrar Open Street Map en otro plugin. Event Organiser. En teoría, te da la opción, pero después no se activa el mapa.
    No encuentro documentación por si hay que activar otro plugin o poner algo de código.
    Muchas gracias!
    Marta

    • raul Autor del artículoContestar

      Buenas,
      la verdad que nunca he usado ese plugin, así que en principio no te puedo decir nada. Si saco tiempo lo pruebo y te comento.

      Un saludo.

  3. Alex Contestar

    Que tal Raul, en mi sitio he incorporado esta opción, pero requiero que aparezcan diferentes mapas de acuerdo al local… como puedo hacer?

    Gracias

    • raul Autor del artículoContestar

      Es decir, que necesitas meter varias direcciones para un evento?? Si es esto, habría que modificar el código fuente del plugin.
      Un saludo.

  4. Samuel Contestar

    Hola. Llevo tiempo buscando sin éxito una app de Android para ver los eventos próximos de tu calendario en Openstreetmaps. Google lo tenía entre su app Calendar y Maps, pero lo han quitado hace poco. La idea es en eventos como Open House Madrid o la noche del patrimonio poder organizarme la ruta en conjunción con los horarios de cada edificio.

    Sabéis de alguna app que lo haga? Por qué nadie pone en práctica esta idea en una aplicación de calendario completa?

    Saludos

    • raul Autor del artículoContestar

      Buenas,
      No se de ninguna app que haga esta tarea. La verdad que es una buena idea, crear una aplicación de calendario que conecte con Openstreetmaps. Imagino que el costo de crearla es alto y rentabilizar esa inversión es complicado.

      Un saludo, Raúl.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *