Answers to common GeoDirectory questions about general. Click a question to open the answer.
GeoDirectory stores listing data in its own database tables, so for listing fields use GeoDirectory custom fields rather than ACF. Values from an ACF options page are separate from listings and should work on GeoDirectory pages too.
If they work everywhere except GeoDirectory pages, a query filter is the likely cause. On GeoDirectory archive, search and listing pages, GeoDirectory removes other callbacks on the main query’s SQL filters, such as posts_where and posts_join, before adding its own. Code that relies on those filters for the main query will not run there.
Test with a default theme and only ACF and GeoDirectory active, then contact our support with the result.
This is a PHP notice, not an error, and it does not stop your site working. WordPress only prints notices on screen when debugging is switched on, so the quickest fix is to stop them being displayed by adding this to wp-config.php: define( 'WP_DEBUG_DISPLAY', false );
The notice comes from a plugin passing incomplete data to a WordPress function, so the file named in it is WordPress core rather than the plugin at fault. To find which plugin it is, deactivate your plugins one at a time (leaving GeoDirectory active) and reload the admin page after each one. When the notice disappears, update or report the last plugin you deactivated.
Check the quotes in the shortcode. Copying from a word processor or some websites turns straight quotes into curly ones (“ ”), and WordPress cannot read attributes written with curly quotes, so the shortcode prints as text or ignores its settings.
Type the quotes again by hand as straight quotes. The current Claim Listings shortcode is [<span></span>gd_claim_post], for example [<span></span>gd_claim_post text="Claim this business" output="link"]. You can also add the GD > Post Claim block to your details page. See GD > Post Claim for all its options.
GeoDirectory runs on any host that meets the server requirements. We do not require a particular company.
The bigger choice is managed or unmanaged. A plain cloud server, such as a DigitalOcean droplet, is cheaper, but you install and look after the web server, PHP, database, SSL, backups and security updates yourself. A managed service, such as Cloudways, runs on the same kind of servers and does that work for you, which is why it costs more. Pick unmanaged only if you are comfortable running a server.
A directory with many listings, maps and searches needs more memory and CPU than a small blog, so leave room to grow.
When GeoDirectory dropdowns stop opening or lose their search box only while another plugin is active, the two plugins are usually loading clashing copies of the same JavaScript library, or one plugin’s script error stops the rest of the page scripts from running.
- Open your browser console (F12) on the broken page and look for red JavaScript errors. The file name in the error usually tells you which plugin it comes from.
- Deactivate the other plugin and confirm the dropdowns work again. Then reactivate it to be sure it is the cause.
- Update both plugins, as many of these clashes are fixed in later versions.
If it still happens, open a support ticket with the plugin name and the console error, and we can look at a fix for it.
GeoDirectory does not change how the WordPress blog works, so you set it up the normal way:
- Create an empty page, for example “Blog”, in Pages > Add New.
- Go to Settings > Reading and set “Your homepage displays” to “A static page”.
- Pick your new page as the Posts page and save.
- Publish at least one post. Until you do, the blog page has nothing to show.
Use a normal page here. The GeoDirectory template pages (search, details, archive, add listing and so on) are disabled in the Posts page and Homepage dropdowns on purpose.
The Dashboard add-on was for GeoDirectory v1 and isn’t available any more. GeoDirectory v2 has a dashboard built in, so you don’t need an add-on.
- For site owners: GeoDirectory > Dashboard in wp-admin.
- For your users: add the GD > Dashboard block or
[<span></span>gd_dashboard]shortcode to a page. Logged-in users see links to their listings and other GeoDirectory account options there.
To let users edit or delete their own listings from the front end, see how can my users edit or delete their listings?.
Yes. GeoDirectory has no separate job board add-on, but you can set up a job listings post type with its own fields and use it alongside BuddyPress.
- Create a post type for jobs with the Custom Post Types add-on.
- In GeoDirectory > Settings > General > Dummy Data you can install the Job Board demo data on that post type. It adds job categories and fields such as company name, logo, salary, deadline date, job type and job sector, which you can then edit or remove.
- Add any other fields you need, for example an application link, as custom fields.
The BuddyPress Integration add-on connects GeoDirectory with BuddyPress member profiles, so members see the listings they posted.
GeoDirectory does not manage CVs or track applications. If you need those, use a dedicated job board plugin next to GeoDirectory, or add a contact form to the job listings, for example with the Ninja Forms integration.
[<span></span>gd_notifications] is the shortcode for the GD > Notifications block. It marks the spot where GeoDirectory and its add-ons print messages on a page, which is why you find it on the GeoDirectory template pages. It shows two kinds of message:
- Admin hints: the blue info boxes that explain a page and link to the docs. Only administrators see them.
- Notices for visitors, for example the warning on a listing that has been marked as closed down or temporarily closed.
To turn the hints off, go to GeoDirectory > Settings > General > Developer and untick Enable admin hints, or click the Disable hints link inside any hint.
There is no setting for writing your own messages to visitors in this block. A developer can add one with the geodir_notifications filter. See GD > Notifications for the block options.
Exif is a PHP extension on your server. WordPress and GeoDirectory use it to read the orientation saved in phone photos and rotate them the right way up when they are uploaded. Without it, some mobile photos can appear sideways.
How to enable it depends on your hosting:
- Managed hosting: ask your host to enable the exif PHP extension.
- cPanel and similar panels: look for a PHP extensions or Select PHP Version screen and tick exif.
- Local or your own server: enable
extension=exifin php.ini and restart the web server.
Tools > Site Health in WordPress will flag the extension if it is missing.
Yes. When Rank Math is active, GeoDirectory adds the listing images to the Rank Math sitemap for each listing, using the image title. On the backend listing editor it also passes the uploaded images, text areas and text fields (with website fields as links) to the Rank Math content analysis, so they count towards the score. Each image is given its title as the alt text for that check.
To set the title, caption and alt text of listing images, see How to set the ALT, title or caption for images?. For titles and descriptions, GeoDirectory variables work in Rank Math: How to use GeoDirectory snippet variables in Rank Math.
Autoptimize combines and moves JavaScript, and GeoDirectory’s map scripts need to load in their normal order with the inline map settings next to them. When they are combined, the map and the Near Me button can stop working.
- In Settings > Autoptimize, add
wp-content/plugins/geodirectory/andmaps.googleapis.comto the list of scripts to exclude. - Untick Aggregate inline JS and Add try-catch wrapping.
- Save, clear the Autoptimize cache and your page cache, and check a map page in a private window.
If your maps still don’t load, open the browser console. A Google key error there is a separate problem with your API key. GeoDirectory and caching compatibility covers other caching and optimization plugins.
Set it in WordPress, not in GeoDirectory. Go to Settings > Reading, choose A static page for “Your homepage displays”, and select your page.
GeoDirectory no longer has a separate GD Home page setting. Its page settings in GeoDirectory > Settings > General > Pages are for the Location page, Add listing page, Search page and the template pages, and none of these should be used as your home page. Build your home page with the GeoDirectory blocks you want, such as GD > Search, GD > Map and GD > Listings.
Our GetPaid Advertising add-on lets you sell banner ad space and show the ads on your site, and it works with GeoDirectory. See GeoDirectory Integration with GetPaid Advertising.
If you only want to show Google AdSense or ads you manage yourself, any ad plugin that gives you a block, widget or shortcode will work. GeoDirectory pages such as the archive and details templates are normal WordPress pages, so you can add an ad block to them, or to a widget area in your theme.
This error means something printed text, usually a blank line or space, before the start of the sitemap XML. The cause is almost always a theme or plugin PHP file with whitespace before its opening <?php tag or after a closing ?> tag. Custom code added to functions.php is a common culprit.
- Open the sitemap URL and view the page source. If the first line is blank, extra output is the cause.
- Switch to a default theme and check again.
- Deactivate plugins one at a time until the sitemap loads, then fix or replace the file that adds the whitespace.
GeoDirectory isn’t the cause if the error is still there with all GeoDirectory plugins deactivated. In that case check your other plugins, the theme, and any code snippets.
WordPress shows this message when a plugin causes a PHP fatal error. It also emails the site admin a link to recovery mode, where you can log in with the faulty plugin paused.
- Open the recovery link from the email, or rename the plugin folder in
wp-content/pluginsby FTP, to get back into the admin. - Update GeoDirectory and all its add-ons together. An add-on that is newer or older than the core plugin is the most common cause.
- If the error is still there, turn on
WP_DEBUG_LOGinwp-config.phpand look inwp-content/debug.logfor the error. It names the file and line.
Send the error from the log to our support team so we can fix it.
These three words come from different places.
The tags part is a GeoDirectory setting. Go to Settings > Permalinks, scroll to GeoDirectory permalinks and change Tag base (default tags). The Category base (default category) is next to it. Save the page to update the rewrite rules.
The author and page parts are set by WordPress itself, not by GeoDirectory. You can change them with a small snippet, for example in the Code Snippets plugin:
add_action( 'init', function() {
global $wp_rewrite;
$wp_rewrite->author_base = 'autor'; // instead of author
$wp_rewrite->pagination_base = 'seite'; // instead of page
} );
Replace the two words with your own, then go to Settings > Permalinks and click Save Changes. If you use UsersWP, its profile page has its own slug, so you can use that instead of the author pages.
Old URLs stop working after a change like this, so set up redirects if the site is already indexed.
wp-content/languages/plugins is where WordPress saves the translations it downloads from translate.wordpress.org. Whenever it fetches language updates, which can happen after installing or updating any plugin, it replaces the GeoDirectory files in that folder, and your own translation is lost.
Save your files in a folder WordPress does not update instead:
- Create the folder
wp-content/languages/geodirectory. - Upload your files there named for your language, for example
geodirectory-de_DE.moandgeodirectory-de_DE.po.
GeoDirectory loads that file before the downloaded one, so your strings win and any missing ones still come from the official translation. For a few strings only, see How to change just one language string.
This error means a database query ran before WordPress had loaded its user functions. GeoDirectory hooks into WordPress queries, so when another plugin or theme runs a query too early in loading, activating GeoDirectory can be what brings the error to the surface. The fix belongs in the code that runs the early query.
- Deactivate other plugins one at a time to find the one that clashes. In the original report it was a sports plugin.
- Update that plugin and your theme to their latest versions.
- If the error stays, send the full error message, including the file list from the stack trace, to that plugin’s developer and to us.
The stack trace in your PHP error log shows which plugin started the query, which is usually enough for its developer to fix it.
Both errors mean a GeoDirectory add-on loaded while the GeoDirectory core plugin was missing, inactive or too old. The add-ons rely on functions and classes from core, so they cannot run without it, and WordPress pauses them in recovery mode.
- Go to Plugins and check that GeoDirectory is installed and active.
- Update GeoDirectory core to the latest version, then update the add-ons.
- Activate or resume the add-ons once core is running.
When you update, do core first and the add-ons after. If you need to reinstall core, deactivating and deleting the plugin does not remove your listings unless Remove Data on Uninstall? is ticked in GeoDirectory > Settings > General > Uninstall. Take a backup before you start anyway.
Sites still on GeoDirectory v1 need to move to the current version, because v1 is no longer maintained and current add-ons need the current core. See Upgrading from GDv1 to GDv2.
This happens when WPML adds the language as a URL parameter, for example ?lang=en. GeoDirectory listing URLs need the language in the path, so go to WPML > Languages > Language URL format and choose Different languages in directories. Then save your permalinks once in Settings > Permalinks.
After that, translated listings get links such as /en/places/... and open the translated listing. The WPML Multilingual Setup Guide covers the rest of the setup.