created map for all associats template page
This commit is contained in:
parent
60a586ef6f
commit
2dbdf30fa3
|
@ -37,40 +37,96 @@ get_header();
|
||||||
endif;
|
endif;
|
||||||
?>
|
?>
|
||||||
<section id="filteredassociats" class="xarxaprod-filtered-content xarxaprod-filtered-content xarxaprod-filtered-associats xarxaprod-associats-filtrats">
|
<section id="filteredassociats" class="xarxaprod-filtered-content xarxaprod-filtered-content xarxaprod-filtered-associats xarxaprod-associats-filtrats">
|
||||||
|
|
||||||
<aside id="associatsfilter" class="xarxaprod-filter-associats xarxaprod-fitre-associats">
|
<aside id="associatsfilter" class="xarxaprod-filter-associats xarxaprod-fitre-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 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 ?>
|
<?php } //end if is_plugin_active ?>
|
||||||
</aside>
|
</aside>
|
||||||
|
|
||||||
|
|
||||||
|
<?php
|
||||||
|
// https://support.advancedcustomfields.com/forums/topic/wp_query-using-meta_query-for-an-acf-checkbox-field/#post-145830
|
||||||
|
// https://www.advancedcustomfields.com/resources/checkbox/#query-posts
|
||||||
|
// https://barn2.com/blog/querying-posts-by-custom-field-acfi/
|
||||||
|
|
||||||
|
$the_query_associat = new WP_Query(
|
||||||
|
array(
|
||||||
|
'post_type' => 'xarxaprod-associat',
|
||||||
|
'order' => 'ASC', //order a b c d ...
|
||||||
|
'order_by' => 'name', // by name slug
|
||||||
|
'posts_per_page' => '-1' //all of them
|
||||||
|
)
|
||||||
|
);
|
||||||
|
?>
|
||||||
|
|
||||||
|
<?php if ( $the_query_associat->have_posts() ) : ?>
|
||||||
|
<?php
|
||||||
|
// Detect plugin. For use on Front End only.
|
||||||
|
include_once( ABSPATH . 'wp-admin/includes/plugin.php' );
|
||||||
|
// check for plugin using plugin name
|
||||||
|
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
|
||||||
|
// 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 wp_reset_postdata(); ?>
|
||||||
|
</main>
|
||||||
|
</content>
|
||||||
|
<?php
|
||||||
|
} else {
|
||||||
|
// if no leaflet plugin, show card with each member
|
||||||
|
?>
|
||||||
|
<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 ?>
|
||||||
|
|
||||||
|
</section>
|
||||||
|
|
||||||
|
</main><!-- #main -->
|
||||||
<?php
|
|
||||||
// https://support.advancedcustomfields.com/forums/topic/wp_query-using-meta_query-for-an-acf-checkbox-field/#post-145830
|
|
||||||
// https://www.advancedcustomfields.com/resources/checkbox/#query-posts
|
|
||||||
// https://barn2.com/blog/querying-posts-by-custom-field-acfi/
|
|
||||||
|
|
||||||
$the_query_associat = new WP_Query(
|
|
||||||
array(
|
|
||||||
'post_type' => 'xarxaprod-associat',
|
|
||||||
'posts_per_page' => '-1'
|
|
||||||
)
|
|
||||||
);
|
|
||||||
?>
|
|
||||||
<?php if ( $the_query_associat->have_posts() ) : ?>
|
|
||||||
<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 ?>
|
|
||||||
<?php wp_reset_postdata(); ?>
|
|
||||||
</content>
|
|
||||||
<?php endif; //end query associat ?>
|
|
||||||
|
|
||||||
</section>
|
|
||||||
|
|
||||||
</main><!-- #main -->
|
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
get_footer();
|
get_footer();
|
||||||
|
|
|
@ -0,0 +1,96 @@
|
||||||
|
<?php
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* Section displaying the map with all members
|
||||||
|
* depens on plugins: LeafletMaps, ACF fields and Xarxaprod
|
||||||
|
* if not pressent LeafletMaps shows template-parts/section-eachmember.php
|
||||||
|
*
|
||||||
|
* @link https://developer.wordpress.org/themes/basics/template-hierarchy/
|
||||||
|
* @link https://developer.wordpress.org/themes/template-files-section/page-template-files/
|
||||||
|
*
|
||||||
|
* @package Xarxaprod_theme
|
||||||
|
* @since 1.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
?>
|
||||||
|
|
||||||
|
<?php
|
||||||
|
// https://support.advancedcustomfields.com/forums/topic/wp_query-using-meta_query-for-an-acf-checkbox-field/#post-145830
|
||||||
|
// https://www.advancedcustomfields.com/resources/checkbox/#query-posts
|
||||||
|
// https://barn2.com/blog/querying-posts-by-custom-field-acfi/
|
||||||
|
|
||||||
|
$the_query_associat = new WP_Query(
|
||||||
|
array(
|
||||||
|
'post_type' => 'xarxaprod-associat',
|
||||||
|
'order' => 'ASC', //order a b c d ...
|
||||||
|
'order_by' => 'name', // by name slug
|
||||||
|
'posts_per_page' => '-1' //all of them
|
||||||
|
)
|
||||||
|
);
|
||||||
|
?>
|
||||||
|
|
||||||
|
<?php if ( $the_query_associat->have_posts() ) : ?>
|
||||||
|
<?php
|
||||||
|
// Detect plugin. For use on Front End only.
|
||||||
|
include_once( ABSPATH . 'wp-admin/includes/plugin.php' );
|
||||||
|
// check for plugin using plugin name
|
||||||
|
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
|
||||||
|
// 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 wp_reset_postdata(); ?>
|
||||||
|
</main>
|
||||||
|
</content>
|
||||||
|
<?php
|
||||||
|
} else {
|
||||||
|
// if no leaflet plugin, show card with each member
|
||||||
|
?>
|
||||||
|
<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
|
Loading…
Reference in New Issue