Problem: I have a Map View that includes several Markers. I would like to show different custom marker icons depending on the terms assigned to each post. If one term is assigned, use a custom Marker image specific to that term. If more than one term is assigned, use a custom "multiple term" Marker.
Solution: Add the following custom shortcode to determine how many terms are assigned to the current post in the loop:
function ts_get_post_tax_term_count_func( $atts ) { $a = shortcode_atts( array( 'postid' => '0', 'taxonomy' => null ), $atts ); $terms = wp_get_post_terms( $a['postid'], $a['taxonomy']); return is_wp_error( $terms ) ? 0 : sizeof($terms); } add_shortcode( 'ts_get_post_tax_term_count', 'ts_get_post_tax_term_count_func');
Go to Toolset > Settings > Frontend content, and register both "has_term" and "ts_get_post_tax_term_count_func" to be used in conditionals and in 3rd party shortcode arguments.
Then use the custom shortcode in combination with has_term to display the proper markers:
Multiple types: [wpv-conditional if="('[ts_get_post_tax_term_count postid='[wpv-post-id]' taxonomy='facebook-type']' gt '1')"]https://www.tripup.it/wp-content/plugins/toolset-maps/resources/images/markers/MULTIPLE-MARKER.png[/wpv-conditional] Only one type - arte-e-intrattenimento: [wpv-conditional if="('[ts_get_post_tax_term_count postid='[wpv-post-id]' taxonomy='facebook-type']' eq '1') AND (has_term('arte-e-intrattenimento', 'facebook-type', null) eq '1')"]https://www.tripup.it/wp-content/uploads/2018/02/marker_shopping_web_white.png[/wpv-conditional] Only one type - ospitelita: [wpv-conditional if="('[ts_get_post_tax_term_count postid='[wpv-post-id]' taxonomy='facebook-type']' eq '1') AND (has_term('ospitelita', 'facebook-type', null) eq '1')"]https://www.tripup.it/wp-content/uploads/2018/02/OSPITELITA-MARKER.png[/wpv-conditional] ... copy and paste the block above for each facebook-type... No types: [wpv-conditional if="( [ts_get_post_tax_term_count postid='[wpv-post-id]' taxonomy='facebook-type'] eq '0')"]https://www.tripup.it/wp-content/plugins/toolset-maps/resources/images/markers/default.png[/wpv-conditional]
Relevant Documentation:
https://codex.wordpress.org/Function_Reference/has_term
https://codex.wordpress.org/Shortcode_API
https://toolset.com/documentation/user-guides/display-on-google-maps/#displaying-markers
This is the technical support forum for Toolset - a suite of plugins for developing WordPress sites without writing PHP.
Everyone can read this forum, but only Toolset clients can post in it. Toolset support works 6 days per week, 19 hours per day.
Sun | Mon | Tue | Wed | Thu | Fri | Sat |
---|---|---|---|---|---|---|
8:00 – 12:00 | 8:00 – 12:00 | 8:00 – 12:00 | 8:00 – 12:00 | 8:00 – 12:00 | - | - |
13:00 – 17:00 | 13:00 – 17:00 | 13:00 – 17:00 | 13:00 – 17:00 | 13:00 – 17:00 | - | - |
Supporter timezone: America/New_York (GMT-04:00)
This topic contains 5 replies, has 2 voices.
Last updated by 6 years, 8 months ago.
Assisted by: Christian Cox.