1

Я хочу отобразить карту google только под кратким описанием на моей странице с одним продуктом, используя ACF Google Maps.Как отобразить расширенное пользовательское поле Карта Google на странице одного продукта woocommerce

Я следовал этому учебнику в ACF: https://www.advancedcustomfields.com/resources/google-map/

Я тестируемое решение путем добавления кода PHP в одном-product.php:

<?php 
 

 
$location = get_field('location'); 
 

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

Он отображается по одиночке страниц продукта, но не в нужном месте.

Я хотел бы иметь карту где-то в 'woocommerce_single_product_summary', но я могу понять, как это сделать.

Можно ли добавить его через крючок?

Я надеюсь, что кто-нибудь может мне помочь.

ответ

0

Вам необходимо добавить свой код на крючок действия woocommerce_single_product_summary, используя add_action(). Также обратите внимание, что вам необходимо определить приоритет, так как 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 } 
} 
+0

Tnaks Helga! Ваш ответ был прекрасен! У меня есть хорошая карта ACF на каждой странице продукта! –

Смежные вопросы