GEO my WP 2.4

Written by Eyal Fitoussi on March 30, 2014

GEO my WP 2.4 is up and ready. This is the next major update of GEO my WP which come with some major improvements. The main focus in GEO my WP 2.4 was on the backend's visibility and performance, Better integration with add-ons and better written code.  As well as some new features, many bug fixes and the first third-party  integration with Sweet-Date theme.

Below is a list of the main changes in GEO my WP 2.4:


  1. The Code was completely re-built to be better organized and to improve performance.
  2. The admin pages of GEO my WP were complete redone since the initial release of the plugin. It has a completely new , shiny interface which hopefully will bring a better user experience as well.
  3. The Licensing system was fixed and improved. It has caused many performance issues for WordPress admin pages as well as with AJAX requests. It is now being loaded only when needed on the backend, Licensing and activation is more efficient and user friendly and hopefully no more add-ons activation issues.
  4. plugin's fiels and folders were reorganized.
  5. Geocode function was improved.
  6. New "Features" tab in the back-end will allow you to activate/deactivate some features such as short codes and widgets to improve performance when such features are not being used by you.
  7. Many JavaScript and PHP files were either removed or combine for less file loads which should improve performance.
  8. Improved "Curren Location" Widget/shortcode.
  9. New "Shortcodes" page added to Geo my WP admin pages. The page will explain and give an example to each shortcode that GEO my WP or its add-ons provides. Not all shortcodes are there at the moment but will be added very soon.
  10. GEO my WP will not save the data into custom fields any more. I have decided to remove the features for the two main reasons:
    1. Location information is already being saved in the custom table of GEO my WP. Saving the same information in custom fields as well just causes unnecessary duplication of data in the database which results in bigger tables and will hurt performance in the long run.
    2. When there is a need to display different components of the location ex ( city, state and so on ) on a page each of the custom fields that holds the information need to be called which results in weaker performance ( each custom field call is a call to database).

    To replace the support in custom fields I have created new functions/shortcode that will easily provide you with the ability to display any or all of the location data of post. This way is more efficient since it requires a single call to database ( that is also being cached ) in order to display single or multiple fields of a location.

  11. Member Location "Location" tab was improved.
  12. Forms and results template field were visually improved a bit.

New Features:

  1. You can now choose the search form template file when creating/editing a form just like how you choose the results page template file.
  2. You now can now display the results map anywhere on the page using the new short code
    [GMW map="form ID"]

    When using the map shortcode you will need to make sure you set the new feature "Display map?" ( under "Search Results" tab in the form editor ) to "Using Shortcode".

  3. "Locator Auto-submit" feature will allow you to choose if to auto-submit the form after location found using the auto-locator or just fill the address field but without the form submission.
  4. New search form and search results template file "Gray" were added.

Removed Features

  1. Drop-pin animation was removed due to many errors, conflicts and performance issues.
  2. The support for Bing API Key was removed for the moment for some geocoding issues. I will look into improving it and might add it back in the future.

New Functions/Shortcodes

  1. Easily display any or all of the location fields of a post using a shortcode or template function.Use the function

    in a template file or the shortcode


    in a post/page content.

    The accepted attributes are:

    1. info – can be any of the location information comma separated:  street, city, apt, state, state_long, zipcode, country, country_long, address, formatted_address, lat, long, phone, fax, email, website. The default value is formatted_address.
    2. post_id - the ID of a post when you want to display the information of a certain post. Otherwise, when using in a single post page or within a posts loop there is no need for post_id. The post ID will be used from either the post being displayed or each post within the posts loop.
    3. divider – any character you want to display between each field when displaying multiple fields. default is space.

    Example of function usage:

    args = array(    'info'    = 'city,state,zipcode,phone,email',    'post_id' = 34,    'divider' = ',' ); gmw_post_info( $args );

    the code above will produce the location information of post 34 as below:
    Hollywood, FL, 33021, 123-456-7890,

    Example of shortcode usage:

    [gmw_post_info info="city,state_long,website" post_id="34" divider="-"]

    The short code will produce the below line:

  2. Similar way you can display location of  Buddypress member when the "Members Locator" add-on is activated. You can use the template function
    gmw_fl_member_info( $args );

    or the shortcode


    The accepted attributes are:

    1. user_id - the ID of a user when you want to display the information of a certain BuddyPress member. Otherwise, when using in a member Profile page  or within a members loop there is no need for user_id. The user ID will be used from either the member that is being displayed or each member within the members loop.
    2. info – can be any of the location information comma separated:  street, city, apt, state, state_long, zip code, country, country_long, address, formatted_address, lat, long. The default value is formatted_address.
    3. divider – any character you want to display between the location fields. Default will be space.
    4. message - if you want to display a message when user does not have a location assigned to him/her.

    Example of function usage:

    args = array(      'post_id' = 3,      'info'    = 'city,state,country_long',      'divider' = ',' ); gmw_fl_member_info( $args );

    the code above will produce the location information of member with ID 3 as below:
    Hollywood, FL, United States

    Example of shortcode usage:

    [gmw_member_info info="city,state_long,Zipcode" post_id="3" divider="-"]

    The short code will produce the below line:

Sweet-Date Integration

GEO my WP 2.4 comes with the first theme integration which is Sweet-Date theme by Seventh Queen. The Integration will enhance the "Members" page of the theme and will add GeoLocation features to it. It will add the ability to search and find members based on address entered and radius chosen and will display result based on that. It will allow as well to display map above the results showing the found members. If you are using Sweet-Date and you have GEO my WP installed and activated you will see the new settings in the "Settings" page of GEO my WP under "Sweet Date" tab.

Other features that GEO my WP adds to Sweet-Date theme:

  1. Choose the radius values to be display as a drop-down menu.
  2. Choose units between Miles or kilometers.
  3. Adds "order by" drop-down select box that will allow to order results by distance, last active, Newest registered or alphabetical.
  4. Choose if to show map, choose its map type and set its height and width.
  5. Display the distance to each member.
  6. Display the location of members in results.
  7. Display "Get Directions" link that will open a new window with Google map showing the directions from the address entered to the member.


Very Important before Updating:

  1. Because of the major changes in the code and database you will lose all your settings and forms that you might have created. After the update completed you will need to setup the plugin and forms again. Apologies for any inconvenience it might cause. However, You WILL NOT lose any of your locations for posts or Buddypress members.
  2. Some functions where modified. If you have created custom search forms or results template files you will need to compare them to the default template files of the new version of GEO my WP and modify the functions of your template files based on the new version.
  3. Some of the existing hooks have modified as well as new hooks added.

Premium Add-ons:

For those of you who are using the premium add-on. Because of the major changes in GEO my WP 2.4 your current version of the premium add-ons will not work with the new version of GEO my WP ( You do not need to purchase a new license just to update to the latest version of the add-on). all the premium add-ons were drastically improved as well. The code was redone in each of the add-ons, Many features were added and many bugs were fixed. To prevent any issue with your license keys and to prevent errors after the updated please make sure to follow the steps below:

  1. Deactivate any license keys you might have
  2. Deactivate the premium add-ons
  3. Deactivate GEO my WP
  4. Update and activate GEO my WP 2.4
  5. Update and activate the premium add-on

If you are having issues with the license key or for some reason you cannot automatically update you premium add-ons from the dashboard you will need to manually download and install them. To do so just login to your <a href="" target="_blank">Account</a> go to "Purchases" tab and download the latest version of the add-on.

Bugs, Errors, Conflict?

GEO my WP 2.4 and the add-ons all went through major updates. They have been tested and fixed many times before their final release. However, if you are getting into any issues just let me know and I will fix it ASAP.

That is all I can remember. There are other code improvements, bug fixes and features I might forgotten. But the major points were mentioned above.

Last thing

I have put many hours, blood and sweat into GEO my WP 2.4 and GEO my WP in general. please take a moment to appreciate my hard work. Your support is much appreciated and motivating me to keep kicking.

Thank you!