added support for maps on theme through xarxaprod-wp-plugin functions

This commit is contained in:
jorge 2024-03-28 22:52:32 +01:00
parent 2dbdf30fa3
commit 85d4b072d7
3 changed files with 33 additions and 67 deletions

View File

@ -21,21 +21,20 @@ get_header();
<section id="filteredassociats" class="xarxaprod-filtered-content xarxaprod-filtered-associats xarxaprod-associats-filtrats"> <section id="filteredassociats" class="xarxaprod-filtered-content xarxaprod-filtered-associats xarxaprod-associats-filtrats">
<aside id="associatsfilter" class="xarxaprod-filter-associats xarxaprod-filtre-associats"> <aside id="associatsfilter" class="xarxaprod-filter-associats xarxaprod-filtre-associats">
<?php include_once( ABSPATH . 'wp-admin/includes/plugin.php' ); if ( is_plugin_active( 'xarxaprod-wp-plugin/xarxaprod-wp-plugin.php' ) ) { // if plugin active do?>
<?php xarxaprod_associats_filters_form(); // function defined in the plugin ?> <?php xarxaprod_associats_filters_form(); // function defined in the plugin ?>
<?php } //end if is_plugin_active ?>
</aside> </aside>
<content class="archive-posts <?php xarxaprod_class_posttype(); ?>"> <content class="archive-posts <?php xarxaprod_class_posttype(); ?>">
<figure id="xarxaprod-associats-map" class="xarxaprod-associats-map">
<?php xarxaprod_show_leaflet_map(); // function defined in the plugin ?>
</figure>
<?php if ( have_posts() ) : ?> <?php if ( have_posts() ) : ?>
<?php while ( have_posts() ) : the_post(); <?php while ( have_posts() ) : the_post();
//get_template_part( 'template-parts/section', 'eachmember' );
get_template_part( 'template-parts/section', 'eachmember' ); xarxaprod_show_leaflet_associat_blob(); // function defined in the plugin
endwhile; endwhile;
the_posts_navigation(); //the_posts_navigation();
else : else :

View File

@ -61,67 +61,28 @@ get_header();
?> ?>
<?php if ( $the_query_associat->have_posts() ) : ?> <?php if ( $the_query_associat->have_posts() ) : ?>
<?php <content class="archive-posts archive-posts-map archive-xarxaprod-members archive-xarxaprod-associats <?php xarxaprod_class_posttype(); ?>">
// Detect plugin. For use on Front End only. <figure id="espais-associats-map" class="xarxaprod-associats-map xarxaprod-espais-map">
include_once( ABSPATH . 'wp-admin/includes/plugin.php' );
// check for plugin using plugin name <?php xarxaprod_show_leaflet_map(); // function defined in the plugin ?>
if ( is_plugin_active( 'leaflet-map/leaflet-map.php' ) ) { ?>
<content>
<main id="espais-associats-map" class="espais-map" style="height: 55vh; widht: 100%;">
<?php
// show the map even if empty
echo do_shortcode( '[leaflet-map fitbounds lat="41.3922" lng="2.1755" height="100%" width="100%" tileurl=https://{s}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}{r}.png scrollwheel detect-retina]');
?>
<?php while ( $the_query_associat->have_posts() ) : $the_query_associat->the_post(); ?> <?php while ( $the_query_associat->have_posts() ) : $the_query_associat->the_post(); ?>
<?php <?php xarxaprod_show_leaflet_associat_blob(); ?>
// get the field values
// https://www.advancedcustomfields.com/resources/get_field/
// var_dump get_field('');
$args = get_field('xxp_associat_osm_map',false, false);
if ( count( $args['markers'] ) ) {
foreach ( $args['markers'] as $marker ) {
// define the fields for the blob
if ( get_field('xxp_associat_citymap') ){
// if city for map written use it
$associat_address = get_field('xxp_associat_citymap');
} else {
// else use the ACF OpenStreetMap nominatim value
$associat_address = $marker['label'];
};
$associat_xxp_weblink = '<a href="'. get_the_permalink() . '">' . get_the_title() . '</a>';
$associat_own_weblink = '<a href="' . get_field('xxp_associat_web') . '" class="">' . get_field('xxp_associat_web') . '</a>';
$associat_email = '<a href="mailto:' . get_field('xxp_associat_mail') . '" class="">' . get_field('xxp_associat_mail') . '</a>';
$associat_lat = $marker['lat'];
$associat_lng = $marker['lng'];
$associat_blobcolor = get_field('xxp_associat_colormap');
echo do_shortcode( '
[leaflet-marker svg background="#555" color="#555" iconSize="17,19" iconClass="dashicons dashicons-marker" opacity="0.6" lat=' . $associat_lat . ' lng=' . $associat_lng . ']'
. '<p>' . $associat_address . '</p>'
. '<h5><b>' . $associat_xxp_weblink . '</b></h5>'
. '<p>' . $associat_own_weblink . '</p>'
. '<p>' . $associat_email . '</p>'
. '[/leaflet-marker]'
); // end shortcode each marker
}; // end each marker
}; // end count all markers
?>
<?php endwhile;//end of the loop ?> <?php endwhile;//end of the loop ?>
</figure>
<?php wp_reset_postdata(); ?> <?php wp_reset_postdata(); ?>
</main>
</content> </content>
<?php <?php
} else { //the loop for text output
// if no leaflet plugin, show card with each member //echo '<content class="archive-posts archive-xarxaprod-members archive-xarxaprod-associats' . xarxaprod_class_posttype() . '">';
//while ( $the_query_associat->have_posts() ) : $the_query_associat->the_post();
//get_template_part( 'template-parts/section', 'eachmember' );
//endwhile;//end of the loop
//echo '</content>';
?> ?>
<content class="archive-posts archive-xarxaprod-members archive-xarxaprod-associats <?php //xarxaprod_class_posttype(); ?>">
<?php while ( $the_query_associat->have_posts() ) : $the_query_associat->the_post(); ?>
<?php get_template_part( 'template-parts/section', 'eachmember' ); ?>
<?php endwhile;//end of the loop ?>
</content>
<?php }//end else plugin control?>
<?php endif; //end query associat ?> <?php endif; //end query associat ?>
</section> </section>

View File

@ -100,7 +100,13 @@
<?php if( get_field('xxp_associat_osm_map') ): ?> <?php if( get_field('xxp_associat_osm_map') ): ?>
<div class="xarxaprod-associat-osm-map"> <div class="xarxaprod-associat-osm-map">
<h6 class="">Mapa:</h6> <h6 class="">Mapa:</h6>
<figure><?php the_field('xxp_associat_osm_map'); ?></figure> <figure class="xarxaprod-associats-map">
<?php
xarxaprod_show_leaflet_map();
xarxaprod_show_leaflet_associat_blob();
?>
<?php //the_field('xxp_associat_osm_map'); ?>
</figure>
</div> </div>
<?php endif; ?> <?php endif; ?>
<?php if( get_field('xxp_associat_osm_link') ): ?> <?php if( get_field('xxp_associat_osm_link') ): ?>