Quiero mostrar un mapa de Google justo debajo de la parte de descripción breve en mi página de producto único usando ACF Google Maps.

He seguido este tutorial en ACF: https://www.advancedcustomfields.com/resources/google -mapa /

He probado la solución agregando el código php a single-product.php:

<?php 

$location = get_field('location');

if( !empty($location) ):
?>
<div class="acf-map">
	<div class="marker" data-lat="<?php echo $location['lat']; ?>" data-lng="<?php echo $location['lng']; ?>"></div>
</div>
<?php endif; ?>

Se muestra en las páginas de un solo producto, pero no en el lugar correcto.

Me gustaría tener el mapa en algún lugar de la ubicación 'woocommerce_single_product_summary', pero puedo averiguar cómo hacerlo.

¿Es posible agregarlo a través de un gancho?

Espero que alguien pueda ayudarme.

1
Jan Pieters 13 ene. 2017 a las 02:51

1 respuesta

La mejor respuesta

Debe agregar su código al enlace de acción woocommerce_single_product_summary mediante add_action(). Además, tenga en cuenta que debe definir la prioridad ya que WooCommerce agrega muchas funciones a ese mismo gancho, (ver fuente) y la prioridad determina su orden. Supuse que 30 sería apropiado, ya que debería aparecer después del extracto.

add_action( 'woocommerce_single_product_summary', 'so_41625126_add_map', 30 );
function so_41625126_add_map() {

    if( function_exists( 'get_field' ) && $location = get_field( 'location' ) ) { ?>
        <div class="acf-map">
            <div class="marker" data-lat="<?php echo $location['lat']; ?>" data-lng="<?php echo $location['lng']; ?>"></div>
        </div>
    <?php }
}
0
helgatheviking 13 ene. 2017 a las 18:58
¡Tnaks Helga! ¡Tu respuesta fue perfecta! ¡Tengo un bonito mapa ACF en cada página de producto!
 – 
Jan Pieters
13 ene. 2017 a las 17:45