我想使用ACF Google地图在我的单个产品页面上的简短描述部分下方显示谷歌地图。
我在ACF中遵循了本教程:https://www.advancedcustomfields.com/resources/google-map/
我通过将php代码添加到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; ?>
&#13;
它显示在单个产品页面上,但不在正确的位置。
我希望将地图放在&text; geocommerce_single_product_summary&#39;位置,但我可以弄清楚如何做到这一点。
是否可以通过钩子添加它?
我希望有人能帮助我。
答案 0 :(得分:0)
您需要使用add_action()
将代码添加到woocommerce_single_product_summary
操作挂钩。另外,请注意,您需要定义优先级,因为WooCommerce将多个函数添加到同一个挂钩(see source),优先级决定了它们的顺序。我已经猜到30会合适,因为这应该在摘录之后。
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 }
}