Google Map Shortcode for Custom Taxonomy/Post Types

Calling all WP Stack Exchangers!

I am currently using Alain Gonzales’ Google Map Shortcode plug-in on a site I’m developing, and it’s worked just fine:

Read More

Google Map Shortcode plug-in on wordpress.org

Recently, I added a Custom Post Type (called “hotels”) to the site, and created two new Custom Taxonomies to use with this (“cities” and “regions”). I’d like to use the plug-in mentioned above to display map points for posts that use the CPT/Custom Taxonomies, and so far it will let me add the points in question, but doesn’t properly spit them out on the relevant theme template file – it only shows the first post within the taxonomy, but not the others.

In the plug-in file, there’s this line:

$post_obj = get_posts(array(‘category__in’=>$categories,’numberposts’=>-1));

This is used to query posts within a category and print out their associated map points; of course, the problem is that because Custom Taxonomies aren’t “traditional” categories, it doesn’t quite work with them 🙁

Can any of you guys think of a way I can query the taxonomies correctly to get the points from each post within them?

As always, any help would be gratefully received!

Related posts

Leave a Reply

2 comments

  1. Sorry for reviving this post, but it was on the front page and I noticed that it’s very old too late… Here’s my take on this problem:

    // This will filter the shortcode attributes and will insert custom 
    // value for the "cat" parameter
    function filter_gmaps_shortcode_atts( $atts ) {
        // We add a custom value in the $cat parameter
        if ( is_tax( 'cities' ) ) {
            $atts['cat'] = 'filter_taxonomy_cities';
        } elseif ( is_tax( 'regions' ) ) {
            $atts['cat'] = 'filter_taxonomy_regions';
        }
    
        return $atts;
    }
    add_filter( 'gmshc_shortcode_atts', 'filter_gmaps_shortcode_atts', 10 );
    
    // This filters the WordPress query and checks for our custom values from above
    // We then modify the query to look for the proper post type and taxonomy
    function filter_gmaps_get_post( &$wp_query ) {
        if ( isset( $wp_query->query_vars['category__in'] ) ) {
            $queried_obj = get_queried_object();
            if ( in_array( 'filter_taxonomy_cities', $wp_query->query_vars['category__in'] ) || in_array( 'filter_taxonomy_regions', $wp_query->query_vars['category__in'] ) ) {
                unset( $wp_query->query_vars['category__in'] );
    
                $wp_query->query_vars['tax_query'] = array(
                    array(
                        'taxonomy' => $queried_obj->taxonomy,
                        'terms' => array( intval( $queried_obj->term_id ) ),
                        'field' => 'id'
                    )
                );
                $wp_query->query_vars['post_type'] = 'hotels';
            }
        }
    }
    add_action( 'pre_get_posts', 'filter_gmaps_get_post', 10 );
    

    Basically we filter the shortcode attributes when we’re on a “cities” or “regions” taxonomy page and add a custom value for the “cat” parameter.
    In the pre_get_posts action fired by WP_Query::get_posts() we check if the custom values are present in the category__in parameter – if so, we unset the category__in parameter and add a tax_query parameter for the current taxonomy.

  2. simply follow this link
    it will guide you through adding custom fields to custom taxonomy
    from that point you can add html code in the new meta box created and insert your google map code there.then take the two points x,y and insert it in two text inputs and store them for your custom taxonomy.
    http://pippinsplugins.com/adding-custom-meta-fields-to-taxonomies/

    another link to add google map to custom post types.
    http://www.billerickson.net/integrate-google-maps-wordpress/
    thanks