logotipo-solucion-individual-nueva-era-400-blanco
Web desde 475€*
Atención Telefónica
L a V de 9:00 a 14:00 y de 17:00 a 19:00 - Excepto Festivos

Poner un Mapa con Bricks para Geolocalizar Contenido de WordPress

Índice de Contenido

En este artículo os muestro cómo implementar un mapa de Open Street Maps para que geolocalice cualquier contenido. En este ejemplo os muestro cómo geolocalizo las entradas de mi Blog y además algún campo personalizado con Advanced Custom Fields PRO.

En el siguiente vídeo os muestro mediante un ejemplo, cómo implementar un mapa de Open Street Maps con Bricks para WordPress.

Dentro de la página, editada con Bricks, donde pongáis el mapa, en Ajustes->Configuración de Página->Código Personalizado, en el apartado «Scripts de cabecera» poner el siguiente código:

<link rel="stylesheet" href="https://unpkg.com/leaflet@1.7.1/dist/leaflet.css"/>
<script src="https://unpkg.com/leaflet@1.7.1/dist/leaflet.js"></script>
<link rel="stylesheet" href="https://unpkg.com/leaflet.markercluster@1.1.0/dist/MarkerCluster.css"/>
<link rel="stylesheet" href="https://unpkg.com/leaflet.markercluster@1.1.0/dist/MarkerCluster.Default.css"/>
<script src="https://unpkg.com/leaflet.markercluster@1.1.0/dist/leaflet.markercluster.js"></script>

En el Elemento «Código» de Bricks, como hemos visto en el vídeo, ponemos el siguiente código en PHP:

<?php
$contenido="";
$contenido.='<div>'; 
// ****** MAPA ****** 
$contenido.= '<div id="map" style="width: 100%; height: 580px; box-shadow: 5px 5px 5px #888;"></div>';
$contenido.= '<script>'; 
$contenido.= 'var mapa = L.map(\'map\', {
center:[40.100,-4.019],
zoom: 6,
scrollWheelZoom: false
}); 
L.tileLayer(\'https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png\', {
attribution: \'Map data &copy; <a href="https://openstreetmap.org">OpenStreetMap</a> contributors, <a href="https://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>, Imagery © <a href="https://cloudmade.com">CloudMade</a>\',maxZoom: 14}).addTo(mapa);
L.control.scale().addTo(mapa);
var marcadores= L.markerClusterGroup();';

$args = array('post_type' => array('post'),
 'posts_per_page' => '1000'
 ); 
$loop = new WP_Query( $args );
$pm_ID=0;

// ****** Loop Posts de las Entradas ****** 
while ( $loop->have_posts() ) {
$loop->the_post();
$pm_ID++;
$pm_Coordenadas=get_field('coordenadas_mapa');
if(trim($pm_Coordenadas)!=""){ // Verifica que no devuelva un valor vacio, ya que sino no muestra todas las marcas 
$pm_titulo=get_the_title(); 
$pm_NombreCompleto=get_field('nombre_completo');
$enlace=get_permalink();
$medium_image_url = wp_get_attachment_image_src( get_post_thumbnail_id(), 'medium' );

$contenido.= 'var marca'.$pm_ID.'= L.marker(['.trim($pm_Coordenadas).'],{draggable: false});';
$contenido.= 'marca'.$pm_ID.'.bindPopup("<h5><a href=\"'.$enlace.'\">'.$pm_titulo.'</a></h5><h5><strong>Asociado: </strong>'.$pm_NombreCompleto.'</h6><img src=\"'.$medium_image_url[0].'\">",{doubleClickZoom:true}).closePopup();'; 
$contenido.= 'marcadores.addLayer(marca'.$pm_ID.');';
$contenido.= 'mapa.addLayer(marcadores);'; 
}
}

$contenido.= '</script>'; 
$contenido.= '</div>';
echo $contenido;
?>

Solución Individual

Si necesitas el Tema Bricks para tu página Web, puedes descargarlo a un precio competitivo y con 1 año de actualizaciones, desde La Caja de Experiencia.

Quiero Descargar Bricks

No olvides suscribirte a mi canal de Youtube

suscribete youtube

Loading

avatar solind
Apasionado por la creación de experiencias digitales. Mi objetivo es potenciar la presencia en Internet de Empresas y Marcas, mejorando su visibilidad en el mundo digital. [Director de Solución Individual ® [Experto en WordPress]
Comparte en tus Redes Sociales:
¿Quieres Hacer una Factura en PDF sin complicarte con un programa de contabilidad?
redes sociales logo hacer facturaQuiero Verlo
¿Necesitas Textos Legales para tu Página Web o Tienda Online?
logo imasitioplus Textos Legales

Adapta fácilmente los Textos Legales para que tu Página Web cumpla con la LOPD (Ley Orgánica de protección de Datos), RGPD, LOPDGDD y LSSICE

Quiero Verlo
¿Necesitas Hosting para WordPress?
PULSA AQUÍ
banner-viajetravel-350px
foto-whatsApp

Cristina

Consultora Soluciones Digitales

22/04/2025

¿En qué puedo ayudarte?

Soy Cristina 😀 consultora de Solución Individual. Para iniciar Chat PULSA AQUÍ

19:40 ✔

¿Te interesa un Hosting Específico para WordPress?

✅ Obtén un Hosting Profesional de alta calidad para WordPress sin sacrificar tu bolsillo. Pulsa Aquí para ver más Info

19:40 ✔
logotipo-solucion-individual-nueva-era-400
Resumen de privacidad

Las cookies son pequeños archivos de texto que tu navegador coloca en tu dispositivo para almacenar cierta información. Utilizando la información que se almacena y se devuelve, un sitio web puede reconocer que has accedido y visitado previamente utilizando el navegador de tu dispositivo final. Utilizamos esta información para organizar y mostrar el sitio web de manera óptima de acuerdo con tus preferencias. Dentro de este proceso, solo la propia cookie se identifica en tu dispositivo. Los datos personales solo se almacenan después de tu consentimiento expreso o cuando esto es absolutamente necesario para permitir el uso del servicio proporcionado por nosotros y al que tu accedes.

Puedes revisar nuestra política de privacidad en la página Política de Privacidad.