WordPress.org

Ready to get started?Download WordPress

Forums

WP Geo
Front end use with gravity forms (3 posts)

  1. rocketman7k
    Member
    Posted 2 years ago #

    Is there a way to use this plugin on the front end through gravity forms? I found this code on the gravity forms forum and was left without the ability to search for a location.

    If there is a way to make something like this work, then I would be willing to pay for it.

    add_filter("gform_pre_render", "gravityforms_wpgeo_mashup");
    function gravityforms_wpgeo_mashup($form) {
    
        //REPLACE 1 with your actual form id
        $my_geo_form = 1;
        if($form["id"] !=$my_geo_form)
            return;
    
        // find IDs of latitude&longitude custom fields
        foreach($form["fields"] as &$field){
                if($field["postCustomFieldName"]=="_wp_geo_longitude") $field_lng = $field["id"];
                if($field["postCustomFieldName"]=="_wp_geo_latitude") $field_lat = $field["id"];
                //print_r($field);
        }
    
        // show map only if latitude&longitude custom fields exist
        if($field_lng && $field_lat ) :
            // load "WP Geo" plugin
            require_once( WP_PLUGIN_DIR . '/wp-geo/wp-geo.php' );
            global $wpgeo;
            $wpgeo = new WPGeo();
            $zoom = 2;
            $map = $wpgeo->mapScriptsInit( 20, 0,$zoom, true, false );
            $map .='
                <input type="hidden" name="wpgeo_map_settings_zoom" id="wpgeo_map_settings_zoom" value="" />
                <input type="hidden" name="wpgeo_map_settings_type" id="wpgeo_map_settings_type" value="" />
                <input type="hidden" name="wpgeo_map_settings_centre" id="wpgeo_map_settings_centre" value="" />
                <input name="wp_geo_latitude" type="hidden" size="25" id="wp_geo_latitude" value="" />
                <input name="wp_geo_longitude" type="hidden" size="25" id="wp_geo_longitude" value="" />
                <script type="text/javascript">
                    <!--
                    jQuery(document).ready(function() {';
    
                        $map .='var my_geo_form= '.$my_geo_form.';';
                        $map .='var field_lng= '.$field_lng.';';
                        $map .='var field_lat= '.$field_lat.';';
                        $map .='
                        jQuery("#wp_geo_map").click(function(e) {
    
                            jQuery("#input_"+my_geo_form+"_"+field_lat).val(jQuery("#wp_geo_latitude").val());
                            jQuery("#input_"+my_geo_form+"_"+field_lng).val(jQuery("#wp_geo_longitude").val());
    
                        });
    
                    });
                -->
                </script>
                <div id="wp_geo_map" style="width:auto; height:400px"></div>';
    
            // find ID of section with cssClass "wpgeo" and put the map into description
            foreach($form["fields"] as &$field){
                    if($field["cssClass"]=="wpgeo")$field["description"].=$map;
            }
        endif;
        return $form;
    }

    http://wordpress.org/extend/plugins/wp-geo/

  2. Ben Huson
    Member
    Plugin Author

    Posted 2 years ago #

    I have seen that someone has done this (although I can;t find the link at the moment) but I have not yet had chance to investigate how they managed it.

  3. Ben Huson
    Member
    Plugin Author

    Posted 2 years ago #

Topic Closed

This topic has been closed to new replies.

About this Plugin

About this Topic

Tags