After almost 2 years of development, GEO my WP 3.0 is finally here and ready to be tested. You can find the download link at the end of this post. It is, however, important that you read this post before updating.

Version 3.0 is a major update and the most complicated one since the initial release of the plugin. 80% of the plugin was rewritten from scratch to improve performance, user and developer experience, better integration and more.

Before I go into details and list some of the major changes in this version, please note that this is the first beta of version 3.0 with massive core changes, so bugs are expected and it is not recommended to install this version of the plugin on a production site. Also, the premium extensions will need to be updated in order to be compatible with GEO my WP 3.0. So any of the premium extensions installed on your site will most likely not work properly with this beta version GEO my WP 3.0.

Please also keep in mind that I am a single developer working on GEO my WP. Which means the development of the core plugin and the extensions, updates, documentation, and support. This is the main reason it took me nearly 2 years ( on and off development ) to wrap up version 3.0. I tested this version on multiple environments and fixed all the issues I could find. However, as a single developer I am limited and cannot test it enough. Therefore, more issues are expected. When this happens, kindly use the comments below to report it.

So What’s New In Version 3.0?

Expandability and Developer Friendly

The main focus in this version was to make GEO my WP more extendable and developer friendly. With many new classes, functions, and hooks that can be used to extend GEO my WP, I am hoping that themes and plugins developers will contribute and integrate their work with GEO my WP. With some of the new classes, it should be easier to register a custom extension ( add-on ), use the proximity search queries with the custom extension, use the location form and more. More details for developers I will post in the future. Perhaps, after the official release of the plugin.

Locations Database Table

Up to this version of the plugin a custom database table, which holds the geolocation data, was created for each object ( posts, BP members, Groups… ). Custom tables like wp_places_locator, wppl_friends_locator, and wp_groups_locator. Having multiple custom tables was hard to maintain and there was no good integration/relation between the different tables. Now, in GEO my WP 3.0, there is a single locations table ( gmw_locations ) that will hold the geolocation data of the different objects. Also, this table is a global table and will be used with all the subsites of a multisite installation. This is instead of creating a custom table per subsite. Having a single table now will be easier to maintain and it can be easily used when registering a custom extension.

After the update of GEO my WP 3.0 you will need to import the existing location into the new locations table. The importing process is described at the end of this post.

Location Meta Database Table

Along with the new locations table, a new locations meta table ( gmw_locationsmeta ) was added. With the new GMW_Location class GEO my WP can create, update and delete location meta. This is very similar to custom fields ( post meta ) and user meta. Up until this version, GEO my WP would save custom data such as phone, fax, email, and website ( for post types ) in custom fields and some user/member data in user meta. Having its own location meta system, there is a better integration between each object and its location meta as well as between each location data to the location meta. It is also possible ( for developers ) to extend the location form with custom location meta. So data such as phone, fax, email, and website can be removed and new meta can be added.

Search Forms Database Table

Up to this version GEO my WP saved its forms data in the wp_options table. In version 3.0 a new database table ( gmw_forms ) was added where the forms data will be saved. Doing so make it easier to maintain the forms data.

Location Form

Finally, the location form of the “Edit post” page, which is one of the more important parts of GEO my WP, was completely redone. It has a new face ( which I hope you’ll like ), I believe that it is more user-friendly ( feedback is welcome ) and it is generated by a class that can be extended to work with custom extensions. It can as well be modified in many ways using action hooks and filters. The GMW_Location_Form class should make it easier for themes and plugins developer to display the location form in the back-end and front-end for better integration with GEO my WP.

Location Form
Location Form

GEO my WP Forms Page

Both the “Forms” and the “Edit form” page were improved ( in my opinion. Your feedback is welcome ). The “Forms” page was slightly modified and is now better organized. The major change is in the “Edit Form” page. Now when editing a form, the editor expands to a full-screen size to give more space and to make it easier to work with. In addition to that, a new “Form Submission” tab was added. The settings in this tab already existed in different tabs. This new tab was added to better group the different form settings.

Edit Form Page
Edit Form Page

Extensions / Add-ons Page

The Extensions page was as well rewritten from scratch and It is now looking more like the WordPress’ plugins page, which I personally like. The page contains more information about each extension and it should take care of some issues with the activation/deactivation of the extensions and license keys.

Extensions Page
Extensions Page

Internal Caching System

GEO my WP 3.0 has a new internal caching system. This system uses transients to save complex queries, such as WP terms, WP posts and WP users queries, which should improve the plugin’s performance.

Deprecated Functions, Classes and Shortcodes

Some functions, classes, and shortcodes are now deprecated and replaced and they are now placed in a file dedicated for that. If you have WP_DEBUG enabled ( which I advise you to enable while testing a beta version ) you might see some warnings after the updated ( most likely if you use custom search form or search results template files ). You should follow the warning and replace the deprecated functions as advised.

Plugin Usage Tracking System

After the activation of GEO my WP 3.0 you should see an admin notice asking if you would like GEO my WP to track its usage on your site. You can either allow or disallow tracking. You can also enable and disable it at any time from GEO my WP Settings page.

The system tracks minimal, non-sensitive information that can help me improve the plugin. Information like the theme and the plugins that are being used on the site, server, WP version, PHP version, and GEO my WP version.

Tracking Notice
Tracking Notice

Front-end

You will not notice big changes in the front-end, except minimal styling improvements. There are no new search form or search results template files at the moment. I might look into it once I am done with the official release of GEO my WP 3.0 and the extensions.

After The Update

After the update of the plugin ( if you are updating from an earlier version ), the first thing you should see is an admin notice asking you to import existing locations. A click on the link in the notice will take you to the “Import / Export” page, under the “GEO my WP v3.0” tab. Simply click the “Import” button to import the existing locations.

Import Locations Notice
Import Locations Notice

Last Thing

The above are the major changes of version 3.0 and changes that you should notice. As mentioned at the beginning, many classes, functions, and hooks were added. Existing functions and classes were either improved or replaced. JavaScript and CSS files were as well improved, combined and minified. Some files and folders were renamed and organized.

One thing I still need to do is to go over and fix the description of the settings in the Settings page and the form editor.

That is it!

I believe I covered almost everything. You can download GEO my WP 3.0 beta 1 from here and replace it with the current version installed on your site.

Feedback, comments, and bug reports are welcome via the comments section below.

While the beta version is being tested, I will be updating the extensions, which hopefull, will be ready by the time the official release of GEO my WP 3.0 is ready.

Your support is greatly appreciated.

Thank you.

7 comments

  1. I can’t get this error:

    Kleo Geolocation add-on requires GEO my WP’s Members Locator add-on to be activated.

    to go away, despite having activated the Members Locator plugin.

  2. This is amazing, thank you Eyal! Geo my Wp is such an important plugin, and it wonderful that you’re committed to major re-writes. I’m really looking forward to seeing the visual improvements too: I really hope more people start using it as a result.

  3. Congratulations! How would people who have used the previous versions make the transition having sites that may have customizations?
    Will previous version stop working at a future time?
    Are there any tips on making the transition (once v3.0 is finished), will parts of our sites need to be recreated to work with 3.0?
    I know it is still in beta, but just some question I think users will want to ask.

    1. Thank you Joseph.

      I apologize, I have just saw the comments on this post. For some reason I didn’t get notifications on new comments.

      I do not expect any major issues when upgrading to v3.0. Specially if you read and follow the changes of the first beta ( this post ) and the seconds beta.

      You will most likely experience some issues only if use custom template files:
      1) Maybe some styling issues as a results of the updated stylesheet, new/updated functions and some ID and CLASS tags. It shouldn’t be anything major.

      2) Deprecated functions and new template functions as described in the post of beta 2. After updating to v3.0 you will need to update your search form and search results template files using the new template functions. Also make sure to replace any deprecated functions. Better to have WP_DEBUG enabled to see the warnings.

      3) You might need to use GEO my WP form editor and update your existing forma. Since some settings were added,removed or modified.

      4) I would say that 95% of the hooks are still the same. If anythings changed or removed, it is only because it was necessary. If you have custom functions that use GEO my WP hooks, and are not working properly after the upgrade. Just let me know and I will provide you with a new hook/solution.

      If you have a testing/staging environment where you can test GEO my WP 3.0. I recommend you do so. You will make sure everything is working as expected and it will help me with debugging.

      I do not expect any more major changes until the official release. From now on I should mostly work on the update of the Premium Extensions.

      I hope this helps.

  4. I’m a freelancer with strong WordPress experience and comfortable with php, but limited experience in geolocation.

    We are beginning development of a website that will be launching in the next month. I’m considering just starting off with version 3.0 – despite the above recommendation to not use on production environments. I have a couple questions and openly welcome your feedback.

    1. Can anyone with experience with 3.0 provide some insight on if this is a reasonable approach?

    2. Are any of the extensions 3.0 compatible at this point?

    3. Specifically, we need to add geolocation data to CodeCanyon EventOn plugin’s “Event Locations” which are created using a custom taxonomy. We originally planned on using the Taxonomy Locator extension for this. It’s not sounding like that is an option any more. Anyone have experience here?

    4. I’m happy to outsource what I don’t know to an experienced developer. Can anyone recommend a freelancer or agency with above average GEO My WP experience?

    Thanks in advance!

    1. Hi,
      Great timing. I have just released GEO my WP 3.0 beta 2.

      1) Since beta 2 is pretty stable and you are not upgrading from an earlier version. I do recommend that you start using GEO my WP 3.0 beta 2. I do not expect any major issues, and if any issues found, it will help me debugging it.

      2) I have just released the first beta of the Premium Settings extension. This is the only extension compatible with GEO my WP 3.0 at the moment. Note that the extension page is not up to date with the new version. There are many new features added and I will update the page in the future.
      However, now that GEO my WP 3.0 is pretty stable, and no more major changes are expected, my focus should be on the rest of the extensions. Hopefully, it won’t be too long before all of the extensions are ready.

      3) The Taxonomy Locator might be an option for you, but you will need to use the current version of GEO my WP ( 2.7.1 ), as it is not yet ready for version 3.0. But it will be available in the future. I will need to work with the developer of the extension to make it compatible with v3.0.

      4) I am happy to help however I can. If this is something that I can provide a simple solution or something more complex as a custom work. Just let me know.

      Let me know if you have additional questions.

Leave a Reply