Business Directory Plugin


Main Site | Support | Docs | Showcase | Premium Modules

Business Directory Plugin is the most popular, versatile, widely-installed, easiest to use, and best-supported WordPress Business Directory plugin available. Increase interaction on your website, improve customer retention and a add revenue-generating section to your site with Business Directory Plugin!

Business Directory Plugin allows you to build a local directory, directory of business providers, a Yellow-Pages style business directory, Yelp-like review sections, create a church directory, build an address book directory and much more. You can add any kind of directory using Business Directory plugin.

Core plugin Features

All features documented on the main website.
* Fully customizable form fields
* Upload images per listing, allow restricted numbers of images based on fee plan
* Lots of image options: drag and drop image uploads, easy image ordering, primary image settings, thumbnail sizing and more
* Accept payment for listings OR have free listings in your business directory
* Accept payments using (requires account)
* Full support for recurring payments (in most gateways: PayPal,, Stripe)
* Allow for featured/sticky listings for an upgrade fee
* Widgets for Featured, Latest and Random listings. Search widget as well
* Create multiple fee plans, which can be assigned to categories for posting
* Built in CSV import and export
* Support for reCAPTCHA to avoid spam listings
* Sorting options for categories, listings, and front-end for users to choose sort order
* Users who post can edit listings without access to WP dashboard
* SEO Friendly using Yoast SEO
* Configurable quick-search field and sorting bar for listings
* Advanced search screen with ability to show/hide fields available for search
* FULL responsive support when installed with a responsive theme
* Multi-language support in your directory with WPML
* Ability to re-skin the directory with a few clicks (directory themes)
* Integrates with popular plugins like Yoast SEO, NavXT Breadcrumbs and WP-PageNavi for easy use
* Images displayed with categories (using the FREE Enhanced Categories module)
* Display Category Icons/Allow Parent-Child Category Navigation (using the FREE Enhanced Category Module)

Additional Add-on Features available from Premium Modules (paid)

  • Rate businesses in your directory (now with microformat support) (using the (paid) Ratings Module)
  • Display the location of the business (categories, search, details–now with custom map sizes) (using the (paid) Google Maps Module)
  • Location based directory result filtering (using the (paid) Regions Module)
  • ZIP code/postal code radius searches supporting a number of countries (using the (paid) ZIP Search Module)
  • Assign features to paid or sticky listing plans to give users incentive to upgrade (using the (paid) Featured levels module)
  • Allow users to upload PDFs (using the (paid) Attachments Module)
  • Manage attachments on directory listings (using the (paid) Attachments module, supports PDF, Text files, images)
  • Accept payments using PayPal (using the (paid) PayPal Gateway Module)
  • Accept payments using Stripe (using the (paid) Stripe Gateway Module)
  • Accept payments using PayFast (using the (paid) PayFast Gateway Module)
  • Post claimable listings in your business directory that other users can pay (or not) to claim (using the (paid) Claim Listings Module)
  • Ability to offer discount codes based on a % or fixed amount with expirations (using the (paid) Discount Codes Module)

For a complete and detailed list of features, please visit:

Please report any bugs you find via

Premium Module Links:

These are optional, paid modules that you can use to enhance Business Directory Plugin’s functionality and
support future development:

NEW Themes

NEW Modules

Other Paid Feature Add On Modules

Payment Gateway Modules (Paid)

For more information and support please visit
For Business Directory plugin support please visit

If you love Business Directory plugin, please consider purchasing a Premium Module!

Business Directory fully supports WPML for dynamic language switching. But if you need just one single language, we include and support these out of the box!

Languages Supported

  • Spanish
  • French
  • German
  • Russian
  • Polish
  • Arabic
  • Swedish

And you can easily translate it yourself if you need to.


Copyright 2009-17, Dave Rodenbaugh
Original Author: A. Lewis

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

    - Addressed issue where shortcodes would always be displayed above content. Now you can nest shortcodes between content.

    - Updated HTML code to be XHTML complient 

    - Wrapped notifications in <p> tags, where not already done so.

    - Wrapped free-standing text in token function, where not already done so (__("text", "WPBDM")).

    - Fixed heading "Step 2" on image upload form to be H2 tag instead of H3 tag (syntactically correct, as there is otherwise no H2 tag).

Version 1.9.2 – Attempts to fix “undefined function flush_rewrite_rules” issue
Fixes “Wrong datatype for second argument” error when using checkbox field type for category field
Fixes default picture bug ( default picture not displaying )

Version 1.9.1 – Fixes a bug that defaults all extra fields to a type of text box regardless what the administrator selects. This bug was only present in version 1.9.0.

Version 1.9.0 – This version attempts yet again to fix the issue with categories showing “No Listings found in category” even while there are actually listings in the category.
Also attempts to fix situation where listings show up across all categories.
Adds the ability to post listings to multiple categories. To use this you must set the category associated field as a checkbox type.
Attempts to fix problem where when editing a listing if you had not uploaded any pictures the first time around it does not load the upload form on edit but says you don’t have the ability to upload images
Attempts to fix the issue with the View button not taking you to the actual listing in Internet Explorer browser
Fixes a problem in the fields manager where if you saved a field without a label you then cannot delete the field.
Fixes URL validation bug

Version 1.8.9 – This version has a small fix for the Google checkout page and a fix for some permalink issues causing a variety of problems with pages. Regarding the google checkout it seems some previous versions were displaying the shortcode at all times and not showing the actual page content. Change made: The line

    add_shortcode('WPBUSDIRMANGOOGLECHECKOUT', 'wpbusdirman_do_googlecheckout'); 

    was changed to 

    if($wpbusdirman_hasgooglecheckoutmodule == 1)
        add_shortcode('WPBUSDIRMANGOOGLECHECKOUT', 'wpbusdirman_do_googlecheckout');

    and moved to below

    if($wpbusdirman_hastwocheckoutmodule == 1)
        add_shortcode('WPBUSDIRMANTWOCHECKOUT', 'wpbusdirman_do_twocheckout');

    The update also adds 3 new options under a new setting "Permalink Options" that allows you to change the wpbdm-directory slug, the wpbdm-category slug and the wpbdm-tags slug. Please take note of the fact that you cannot use "category" or "tags" or any already reserved WordPress taxonomy names for your slugs as it will make your pages fail to load.

Version 1.8.8 – This version has a small fix in a function related to the payment process on sites that have only one fee setting applied to all categories.

Version 1.8.7 – This version attempts to fix the issues with the contact form not sending the email to the business but instead sending it to the user who was logged in when the listing was submitted.

    This version attempts to fix the issues with some top level categories showing no listings found. 

    This version fixes the issue with the extra thumbnails not showing up in the listing

    This version should fix the issue with the cannot redeclare username_exists() error 

Version 1.8.6 – Removes call to include the WordPress registration.php in order to fix “Fatal error: Cannot redeclare username_exists() (previously declared in…” error

Version 1.8.5 – Fixes a bug that prevented the payment step from kicking in (applies for version 1.8 and above only)

Version 1.8.4 – Removes automatic creation of pages at setup to correct bug that caused multiple instances of the business directory page and sub pages to be created.
` Installation process now includes manual creation of the necessary pages.

Version 1.8.3 – Removes conversion process that attempted to convert listings made with versions 1.0 – 1.7 to the new 1.8 custom post type format

Version 1.8.2 – Fixes IE bug where “View” button does not work in listing excerpts
Fixes Missing argument 1 for wpbusdirman_the_listing_meta() bug
Fixes missing quote bug near img alt on a couple of lines

Version 1.8 of Business Directory Plugin makes use of WordPress 3.0+ custom post types. The way the plugin works has been completely changed to use custom post types. When you upgrade to version 1.8 it will convert your previous installation to the new format. The new format conversion is not guaranteed to work 100% so you are very strongly advised if you have listings in your directory presently to export those listings in case you might need to re-add them manually.

Plugin now uses a custom post type for posts related to the directory

Plugin now uses a custom category taxonomy for categories related to the directory

Plugin now uses a custom tags taxonomy for tags related to the directory listings

Plugin now allows for better integration with your theme. See the “Usage Doc” section for information on how to customize your theme to use the plugin functions.

Bug related to “Manage Fees” has been fixed. This bug resulted in admin being told payments were not turned on even though payments were in fact turned on.

Usage Doc

For complete documentation on the plugin, please visit the BD Documentation Site. We also have a complete FAQ Section of the Forum and our Quick Start guide.

  1. Setting up your categories

Go to your Dashboard and look for the “Directory” menu box. Listed under the Directory menu box are the links “Add New”, “Categories” and “Tags”. Click the “Categories” link and add your categories just the same way you would normally add categories under Posts->Categories.

  1. Matching the design to your theme

Please visit this page for complete and up-to-date instructions on matching BD to your theme.

How to match BD to your theme

  1. Adding a menu of the directory categories

To add a menu of the directory categories to your theme use the code below:

You can filter the function the way you would normally filter wp_list_categories. Just make sure it includes ‘taxonomy=’.$wpbdmposttypecategory so that it knows you only want the plugin directory categories.

  1. Adding a latest posts widget

NEW: BD now comes with 3 standard widgets–Latest Listings, Random Listings and Featured Listings. Place in any
widget-ready theme.


Please see our detailed Installation Guide, the Quick Start Guide for common how-to scenarios, and our Initial Setup page for instructions on how to get going quickly with Business Directory Plugin.

Full documentation for the plugin is also available.

If you are having problems please visit support forum for help.


For the definitive FAQ section, please visit the FAQ Section of the Forum, or our Quick Start guide.

Installation Instructions

Please see our detailed Installation Guide, the Quick Start Guide for common how-to scenarios, and our Initial Setup page for instructions on how to get going quickly with Business Directory Plugin.

Full documentation for the plugin is also available.

If you are having problems please visit support forum for help.

Can Business Directory Plugin support paid and free listings?

Yes it can. You can do this by creating fee plans for 0.00 and some other paid amount at the same time. For more details, read this article.

Do you have video tutorials for Business Directory Plugin?

Yes we do. They can be found here.

Will Business Directory Plugin work with my theme?

Business Directory Plugin will work with any well-written, WP 4.x compliant theme. Generally speaking, paid themes tend to be higher quality than free ones, so we don’t recommend those.

Whatever theme you pick, we recommend using the Theme Check plugin (available for free on to validate how WordPress-compliant that theme actually is. The more errors and warnings you see on the theme when you run that check, the worse the theme is. You can read more about it here:

(This plugin was developed by WP Core developers to validate their own default themes and is highly respected in the theme community)

In general, we like WooThemes as a solid company with great products and support. You can check them out here Or StudioPress

Can Business Directory be translated into my language?

Yes it can. Business Directory Plugin comes with many user-provided translations under the /languages folder. For details on how to do it, our translation guide will help get you started.

Is Business Directory Plugin compatible with WordPress Multisite (WPMU)?

Yes it is. However, you cannot “network-activate” the plugin (as this will share the database). Activate it on only the subsites on which you need a directory. This can be done under Plugins->Add New as the Administrator user. Do not “network activate” BD as the “super admin”.


Wow what great service

Firstly let me start by saying I have very little technical ability, I am a 52 year old UK based magazine publisher that just wanted a directory as an add on. My method for getting anything done is clicking and crossing my fingers, hours on forums and help sites and a lot of optimism!

It is probably no surprise to anyone (except me) that this method resulted in me locking myself out of my WP admin and with absolutely no clue what to do I messaged Business Directory support, probably one of those messages they dread where the customer refers to things by the wrong name and writes their life history to get to the point (a bit like this review).

The support was incredible! A real person answered me and I didn’t even have to keep my reply above a line. Helpful, friendly, not-patronising, there wasn’t even a hint of laughter when I asked what an FTP was and they fixed the problem.

I have gone from thinking of this plugin as just another thing I have to pay for, to real respect for real people who have developed something that works well, plays nicely with other plugins and they care about their users.

Good work Dave and Bobbie
Thank you Andrena

Best free directory plugin in WordPress

I’ve tried so many directory plugins out there but none compares to the features provided by Business Directory. There’s been some issues in the latest release but everything has been resolved now. Customer support is amazing. I will highly recommend this plugin to anyone who needs a directory in their site.

Read all 390 reviews

Contributors & Developers

“Business Directory Plugin” is open source software. The following people have contributed to this plugin.



Version 5.1.2

  • Do not automatically select the first available category during listing submit.
  • Do not show payment receipt at the end of the submit process when listing is free.
  • Skip plan selection when there’s only one plan available.
  • Do not show “Continue to Payment” label when directory is in free mode.
  • Add some compatibility code to prevent fatal errors when using the Facebook Open Tags plugin.

Version 5.1.1

  • Improve format detection for expiration dates on CSV imports.
  • Updated French translation.
  • Fix support for reCAPTCHA for listing submits.
  • Fix PHP notice in checkout view.
  • Execute admin views in a more adequate hook.

Version 5.1

  • Update CSV import & export to include/support fee plan information.
  • Allow multiple manual upgrades to be executed together.
  • Add hooks for customization of the contact form.
  • Add support for admin/customer renewal notification.
  • Add a post status filter to the backend.
  • Show “Listing Instructions” during submit.
  • Allow admins to upload images on the backend even for listings with no associated plan.
  • Allow admins to sort listings according to fee plan ordering.
  • Prevent number_format() expects parameter 1 to be float warning.
  • Hide submit’s “Listing Images” section when images are globally disabled.
  • Fix PHP warnings when running on PHP 5.2.
  • Do not export rating values during CSV exports.
  • Fix PHP warning when choosing an image as the listing’s thumbnail on the backend.
  • Fix a problem detecting listings associated to a given e-mail when using access keys.
  • Make sure database options are returned with the correct PHP type.
  • Dispatch admin views earlier to fix “headers already sent” PHP errors.
  • Prevent listings from being marked as “Featured” on the backend even when their plan doesn’t have this flag.
  • Fix false validation errors on Date fields.
  • Save image meta (caption, position) correctly during submit.

Version 5.0.5

  • Add support to assign listing’s fee plan during import.
  • Twitter field accepts Twitter handles only; no URLs are allowed. Now is not possible to add a URL validator to this field.
  • Fix JavaScript conflict with AWPCP.
  • Improved Uninstall workflow.
  • Fix a bug that caused region data to be ignored during import.
  • Update appearance of fee plans in Submit Listing view.
  • Fix a bug that made it impossible to edit email templates that included HTML tags.
  • Make sure ‘flat’ is always the pricing model for the free plan.
  • Do not show “Continue to Payment” if the Directory is in free mode.

Version 5.0.4

  • Correct priority of translation loading for premium modules.
  • Workaround a WP bug affecting hook names for sites using translations (
  • Fix Featured Listings shortcodes.
  • Update CSV import & export icons.
  • Change e-mail subject for default expiration notices.
  • Move “Uninstall” link back to a menu item.

Version 5.0.3

  • Support WPML integration during Ajax requests.
  • Fix a problem in single-select category selector.
  • Fix encoding problem with redirect_to argument in Login view.
  • Listings can now be renewed before they expire.
  • Show registration and password reminder links in login form again.
  • Support migration from very old versions of BD.
  • Remove upgrade/downgrade to featured from bulk actions.
  • Fix bug that caused translation files for modules not to be loaded.
  • Allow WPML to translate fee descriptions.
  • Allow plugins to modify the settings callback on the admin.

Version 5.0.2

  • Fix load_textdomain() in WPBDP class.
  • Fix ‘Undefined index: regions-slug’ notice.
  • Fix behavior of fees table in Manage Fees.
  • Add integration for Advanced Excerpt plugin.
  • Add warning about PHP version requirements.
  • Update translation files for French.
  • Fix error that prevented “Preview Form” from working.
  • Fix compatibility issue that prevented Regions module from working correctly.
  • Fix some problems with the renewal process.
  • Update message shown for license activation errors.

Version 5.0.1

  • Fix link generation bug in WPML integration.
  • Do not disable “Choose One” option on search for single-valued selects.
  • Fix Fatal error in PHP 7.1 when too few arguments are passed to one of the plugin functions.
  • Prevent PHP Warning “Invalid argument supplied for foreach()” in Query Integration class.
  • Fix “Fatal error: Cannot create references to elements of a temporary array expression” from PHP 5.4 to allow users to see they’re on an old PHP.
  • Prevent a Fatal error caused by Featured Levels 4.x during manual upgrade

Version 5.0

  • Added support for new fee plan pricing models: flat price, category-based, base + extra amount per category
  • Added a new Payments screen to manage all payments.
  • When sorting listings using the paid/free option, the paid amount is now taken into consideration.
  • Completely redesigned category and fee plan selection.
  • Listing statuses and attributes have been redesigned for improved UX on the backend.
  • Listing expiration date is now shown as a column on the backend.
  • Listings submitted by anonymous users can now be edited/renewed using Access Keys.
  • Added support for creating an account during listing submit.
  • Listing now have just one fee plan associated to them instead of one per category
  • Listing renewal now keeps the featured flag. (#634)
  • Listings can now have different background colors depending on their fee plan.
  • Added normalized CSS classes and IDs for listing views.
  • Redesigned listing information metabox.
  • Completely redesigned listing submit workflow using AJAX.
  • Added a “Timeline” metabox on the backend to clearly see a listing’s history.
  • Admins can now create any number of listing expiration/reminder notices.
  • Simplify how premium modules integrate into BD.
  • Added businessdirectory-quick-search shortcode to display the Quick Search form.
  • Added warning when reaching the image limit during listing submit/edit.
  • Allow users to edit categories for their listing if the plan allows it.
  • Added option to sort listings using the configured sort for their fee plans.
  • Added several hooks to allow adding content during the submit process and in other templates.
  • Allow admins to mark some fields as required for searching.
  • Added a more reliable cron implementation for scheduled events.
  • Refreshed the Settings API implementation to increase speed, reduce queries and add validation support.
  • Redesigned the settings screen for better UX.
  • Increased reliability of upgrades.
  • Added a new log mechanism for better debugging.
  • Updated the premium module initialization API.
  • License and update checking has been merged to cover both themes and premium modules, reducing external requests.

Version 4.1.15

  • Fix 404 Not Found error for categories URLs that occurred when WPML was installed and configured to use a query parameter to define the language of the website.
  • Empty strings are not allowed as categories and tags slugs.
  • Doing a Factory Settings Reset no longer removes license keys for premium modules.
  • Prevent infinite recursion conflict with Postman.
  • Allow execution of shortcodes in excerpt fields.
  • Remove pagination links from listings shortcode.
  • Add wpbdp_get_page_ids filter.
  • Fix feed links for all listings and categories.
  • Show license-related warnings to administrators only.


  • Update to fix uploader class

Version 4.1.14

  • Correct CSS classes for secondary buttons.
  • Prevent listing title from being cleared during import.
  • Always show ‘number of options visible without scrolling’ setting in Add/Edit form field screen.
  • Fix import error caused by ampersands in category names.
  • Fix behavior for not found URLs.
  • Fix search form behavior and region filter issues.
  • Correct CSS classes for some primary buttons.
  • Use checkboxes for Quick Search Fields setting.
  • Replace dropdowns with four or less options with a list of radio buttons.
  • Register non-persistent groups after switchgin blogs.
  • Prevent listings from being published before payment is completed.
  • We now have more descriptive error messages for license issues.
  • Fix inconsistent strings and button labels.
  • Prevent creation of multiple listings in submit-listing shortcode.
  • Fix inconsistent strings and button labels.
  • Fix compatibility issue with jQuery 3.2.1.


  • Fix buttons in main box ignoring settings.
  • Restore missing Country part in address field.


  • Fix theme compatibility problems introduced in 4.1.13.

Version 4.1.13

  • Add shortcode to output Quick Search.
  • Added shortcode for displaying the latest listings.
  • Added shortcode for displaying a random set of featured listings.
  • Added shortcode for displaying a random set listings.
  • Prevent PHP Warning in show_tag.php.
  • Prevent CSFR exploit that could allow attackers to upload images to the Media Library.
  • Do not set contenteditable to false on Firefox when handling setting dependencies.
  • Fix JavaScript error due to necessary script not loaded.
  • Improve performance of CSV Importer.
  • Update Swedish translation for BD.
  • Fix bug in code that generates search queries SQL.
  • Fix format for address field in themes.
  • Fix conflict with WPML caused by WP bug 40906.


  • Backward compatibility fix for ZIP search–module update order problem

Version 4.1.12

  • Report versions of installed premium modules on debug info page.
  • Make non-required SELECT fields actually optional (no option selected by default).
  • Show a message on the frontend when the directory is not available due to a pending manual upgrade.
  • Fix conflict between BD and latest Breadcrumbs NavXT.
  • Send NEW listing’s published notification to the right address.
  • Add compatibility patch for Ultimatum theme.


  • Repaired badly botched release in SVN due to file sync issues

Version 4.1.11

  • Show server’s IP address in Licenses settings tab.
  • Show two columns of categories by default.
  • Replace fees table with responsive list of fees.
  • Add Moroccan Dirham (MAD) currency to Payment settings.
  • Fix translation support in Billing Form.
  • Fix preview links when the no-id-in-link setting is disabled.

Version 4.1.10

  • Improve responsive behaviour of categories list.
  • Update PayPal module to comply with PayPal’s security upgrade.
  • Fix sticky behavior for listings posted with recurring payments.
  • Update behavior of listings that are sticky in a particular fee/category.
  • Fix previews (when listing has no slug set).
  • Toggle “wpbdp-hide-on-mobile” class when clicking contact form button..
  • Fix bug that prevented bulk edit actions from working.
  • Fix PHP notices in Current Images section in Edit Listing page.
  • Restore support for shortcodes in posts.
  • A listings is now considered paid only if currently associated with a paid fee.
  • ABC filter URLs will now point to the first page.
  • Update compatibility code for Breadcrumb NavXT.
  • Fix bug that caused HTML entities to appear in e-mail subjects.
  • Update German translation.

Version 4.1.9

  • Add support to export listings that include Unicode characters.
  • Avoid passing $this by reference in apply_filter_ref_array() for PHP 7.1.
  • Fix French translation for Tag and Category.
  • Show error in Submit Listing view if required fields are missing.
  • Fix typo: ‘sucessfully’ -> ‘successfully’.
  • Fix sticky behavior for listings posted with recurring payments.
  • Improve security of listing image uploading.

Version 4.1.8

  • Do not generate HTML for Facebook field if the value is empty.
  • Fix a bug that caused Authorize.Net Gateway to build the Credit Card expiration date using the first two digits of the expiration year, instead of the last two.
  • Fix Fatal Error trying to render excerpt for textarea fields.
  • Allow admins to disable the CSS rules for listing action buttons.
  • Fix search problem that occurs when form field used in the Quick Search feature is deleted.
  • Update link to reCAPTCHA’s website.
  • Fix Author dropdown in Bulk Edit form for Listings to include the – No Change – option again.
  • Remove fuzzy tags from all translation files, making more translations available.
  • WPML integration: fix bug that caused different versions of the same listings to show up in widgets.
  • Generate better URLs to improve compatibility with WPML.
  • Fix routine to clean metadata for Checkbox, Radio and Select fields.
  • Add “country” as a new theme tag.
  • Fix PHP warning triggered when no update information could be retrieved during an update check.
  • Update JS code to latest jQuery standards.
  • Add wpbdp_should_enqueue_scripts_and_styles filter to allow third parties to force inclusion of BD scripts and styles.
  • Improve appearance of Region archives.
  • Fix French translation for Tag and Category.
  • Fix typo in WPBDP_Plugin.

Version 4.1.7

  • Fix ‘Include comment form on listing pages’ setting to store the proper value.
  • Avoid PHP Warning when field value includes ‘%’.
  • Use an array to pass headers to wp_mail in Email class.
  • Increase importance of rules in .wpbdp-show-on-mobile CSS class.

Version 4.1.6

  • Fix error in migration routine affecting multivalued fields on some sites.
  • Introduce new setting for comment handling to prevent duplicate comment forms.
  • Review compatibility with WordPress 4.7.
  • Fix preview links for admins.
  • Fix a problem with URL redirection to custom login pages.
  • Accept one option per line (including commas) as part of a multivalued field options.
  • Improve integration
  • Add Swedish translation.
  • Add CSS fix for quick search box.

Version 4.1.5

  • Add support for template block/variable metadata in PHP comments.
  • Fix support for template variables customization outside of themes.
  • Fix an error that resulted in the WP comment form appearing twice.
  • Fix a path resolving issue that resulted in an incorrect template being loaded under certain circumstances.
  • Support transliteration of arabic characters when normalizing field names for CSS, CSV export/import, etc.
  • Make some CSS selectors more specific to prevent conflicts.
  • Allow users to control the size of the list in Multiselect form fields.
  • Add phone and email fields to billing information form.
  • Make gateway use e-mail and phone number properties from the billing form.
  • Allow Editor user to Preview listings.
  • Improve performance of search queries that involve listing metadata.
  • Fix an issue with Form Fields options that caused selected values to show up unselected for some fields.
  • Add contact form message that wasn’t being marked as translatable.
  • Unify gettext contexts for “Submit A Listing” view title.

Version 4.1.4

  • Automatically load translation files from themes.
  • Improve performance for BD premium modules update checks on plugin page.
  • Custom themes (not developed by BD) can be used without a license.
  • Add showsearchbar parameter to business-directory-manage-listings shortcode.
  • Fix support for ‘&’ in tag names.

Version 4.1.3

  • Improve appearance of search button on Advanced Search form.
  • Remove carriage-return characters from options in multivalued fields.
  • Load jQuery-UI stylesheet using a secure connection.
  • Fix Edit and Delete links on the backend for the Contributor role.
  • Improve error handling during installation.
  • Minor fix to searches involving URL fields.
  • Fix meta tag generation when CPT Advanced Integration is disabled.

Version 4.1.2

  • Fix meta tag generation when CPT integration is disabled.
  • Add option to display single view in a new browser tab/window
  • Fix typo in French translation.
  • Improve behavior of “Preview” button on listings backend.
  • Add some missing translatable strings.
  • Fix for search form not working when permalinks were disabled.
  • Fix shortcode execution in content fields under certain circumstances.
  • Fix fatal error trying to create a category in CSV Import.
  • Add rewrite rules for feed URLs for categories and tags

Version 4.1.1

  • Fix searching involving multivalued fields.
  • Re-enable user template overrides for core and theme templates
  • Fix: “Show search listings” setting wasn’t being honored.
  • Fix searches involving category fields.
  • Fix searches involving meta fields.

Version 4.1

  • Show width/height/size constraints for images in the image upload form.
  • Allow disabling of frontend listing submission.
  • Improve handling of paths on Windows systems.
  • Allow fee plans to have a description that is shown during fee selection
  • Add option to enable auto-generation of excerpt from listing content.
  • Add backend listing URL to e-mail notifications sent to admins.
  • Fix contact form toggle not working on mobile devices.
  • Various improvements to search.
  • New design for the quick search bar that integrates with Regions and ZIP Code Search.

Version 4.0.8

  • Added Arabic translation to core
  • Some query improvements when in CPT compatibility mode.
  • Work around a bug in U-Design theme.
  • Improve compatibility with fullwidth template in takeawaywp theme.
  • Translate some settings that were missing a translation.
  • Fix comments and comment form not appearing eve when enabled.
  • Fixes for mobile devices.
  • Add filtering to allow overriding security policy in wpbdp_user_can().
  • Fallback implementation for wpbdp_detect_encoding() when iconv is not available.
  • Improve security inside dispatching subsystem.

Version 4.0.7

  • Improve excerpt display on mobile devices.
  • Show themes update badge inside main menu item too.
  • Improved usability for Directory Themes screen.
  • Fix some query issues when on CPT compat mode.
  • Mark some strings as translatable.
  • Restore the routine that handled expiration of listings.

Version 4.0.6

  • Compatibility fixes for Canvas theme.
  • Compatibility fixes for X theme.
  • Add “City” and “State” as taggable fields in themes.
  • Improve display of addresses in themes.
  • Fix for Featured Listings widget not honoring configured number of posts setting.
  • Add “menu” attribute to listings shortcode.
  • Prevent Jetpack sharing from being displayed twice on listings.
  • Update admin sidebar.
  • Fix minor translation omission.

Version 4.0.5

  • Atahualpa theme compatibility fixes.
  • Use an auto-complete field instead of a dropdown for the users field on the CSV import screen to avoid performance problems.
  • Several fixes for encoding detection and handling during CSV imports.
  • Longevity theme compatibility fixes.
  • Divi theme compatibility fixes.
  • Do not show any sortbar filters when sortbar is disabled.
  • Additional fixes for the Genesis theme
  • Fix sorting and other query problems when in CPT compatibility mode.
  • Fix search query integration with sortbar.
  • Restore pre-4.0 behavior (regarding Regions and Maps) of the listings shortcode.
  • Add redirects for old submit listing URLs.
  • Restore tag functionality for the listings shortcode.

Version 4.0.4

  • Add compatibility mode that disables CPT integration for setups having issues or theme conflicts.
  • Try single and singular templates along with page.php for improved theme compatibility.
  • Add compatibility layer for themes.
  • Genesis theme compatibility fixes.
  • HMTPro5 theme compatibility fixes.
  • Customizr and Customizr-Pro theme compatibility fixes.
  • Prevent duplication of CSV labels for fields.

Version 4.0.3

  • Restore WPBUSDIRMANMANAGELISTING as a valid “Manage Listings” shortcode.
  • Prevent view classes from being loaded more than one to prevent PHP strict errors.
  • Improve compatibility with Graphene theme.
  • Restore listing count shortcode functionality.
  • Fix “Address” section appearing on default theme even when no address was available.
  • Add missing ORDER BY clause resulting in “paid first” sort order not working correctly.

Version 4.0.2

  • Fixes for themes showing “Untitled” on some directory pages.
  • Fixes for Avada theme.
  • Reduce themes update checking periodicity to 48 hrs.
  • Add missing argument to search form to prevent incorrect search results being returned.
  • Fix to locate a replacement for page.php template for themes that don’t have it.
  • Fix random ordering in Featured Listings widget.
  • Fix title filter for modern themes.
  • Fixes for path handling on Windows environments.
  • Fix some PHP warnings resulting from JSON decoding theme files.
  • Do not show a 404 error for empty categories.

Version 4.0.1

  • Fix some PHP warnings and errors
  • Fix listings shortcode category support.
  • Fix search issue in Featured Listings widget.
  • Fix tag pages.
  • Make “Pre-4.0 Template” the default theme for upgrades from 3.x.

Version 4.0

  • NEW: Add support for theming the directory + 5 premium and 1 default themes.
  • NEW: Added listing categories shortcode businessdirectory-categories.
  • NEW: Better integrate with WP’s main query.
  • NEW: Allow reCAPTCHA to be disabled for logged-in users.
  • NEW: Allow admins to add a message with instructions during submit.
  • Add support for LinkedIn URLs (not just company IDs).
  • Fixes for recurring payments.
  • Fixes for SEO validation with Yoast.
  • Fixes for new WPML functionality.
  • Allow registration warning to be dismissed.
  • Quick search bar fixes for mobile users.
  • Add support for recurring payments for listing claims.
  • Added support for HTML tags in ratings comments.
  • Regions fixes for PHP 7.

Version 3.7.5

  • Fix queries involving featured listings to include listings made sticky by plan (not level).
  • Add SSL debugging info to “Debug” page.
  • Include certificate bundle for use by gateways.
  • Fix some backend fee editing issues.
  • Fix search form not appearing on Advanced Search in some cases.
  • Compatibility test with WP 4.5
  • Rename file upload JS to avoid conflicts with Visual Form Builder Pro.
  • Add IFRAME support for textarea fields.

Version 3.7.4

  • Show WPML translations of form field labels in validation errors.
  • Improve handling of line breaks in textarea fields.
  • Fix handling of permalink URLs with cyrillic characters.
  • Support “author” attribute in listings shortcode.
  • Make CSV export encode line breaks in a way that is compatible with CSV import.
  • Fix PHP warning on backend.

Version 3.7.3

  • Make category-specific fees work again.
  • Improve the handling of deleted categories.

Version 3.7.2

  • Add alternative code for MIME type checking on image upload when FINFO is not available to prevent fatal errors.
  • Fix fee selection on the frontend after Fees API update.
  • Add warning to admins when the Directory is in paid mode and there are no fees active.
  • Several minor improvements to the Fees API.

Version 3.7.1

  • Fixed bug where users can’t change the category on listings during submit

Version 3.7

  • NEW: Improved Fee admin interface
  • NEW: Allow content fields to use a WYSIWYG editor on the frontend.
  • NEW: Allow admins to search listings by username on the backend.
  • NEW: “Phone Number” field type.
  • NEW: Added Russian translation.
  • Image fields now adhere to global image size restrictions.
  • Fix handling of tags in select fields, during CSV imports.
  • Improve CSS classes on checkout screens.
  • Improve handling of line breaks in content fields.
  • Improve presentation of settings pages.
  • Better handle reCAPTCHA fields outside of the main page.
  • Maintain Yoast SEO compatibility when title-tag is used by the theme.
  • Remove Google Wallet support from the plugin.
  • Use “Reply-To” header for listing contact emails.

Version 3.6.12

  • Fixed bug where get_current_screen changed behavior in WP API and documented use changed, making it potentially unsafe on admin_init hook. Added conditional to fix on some configs.

Version 3.6.11

  • Allow content fields to use a WYSIWYG editor on the frontend.
  • Listing images can now be re-ordered by drag and drop.
  • Make “Total listing cost” on the backend show the current listing cost.
  • Rename some CSS classes to avoid conflicts with themes using Bootstrap.
  • Allow filtering of listings by category on the backend.
  • Add option to not delete previous listing images during CSV import.
  • Add some database indexes to improve query performance.
  • Update heading hierarchy for WP 4.4.
  • Do not enqueue reCAPTCHA resources on non-BD pages to prevent conflicts.


  • Fixes “no listings found” bug on some setups
  • Performance improvements on search queries
  • Sorting problem fix (paid first)

Version 3.6.10

  • Fixes for recurring payments.
  • New “Login URL” setting to control registration redirects
  • Do not allow changing of validator for URL fields.
  • Fix an issue with table prefixes when using “Paid first” for sorting listings.
  • Several performance improvements on listings in the backend.
  • Improved performance for CSV exports.
  • Correct some styles in contact form.
  • Allow placement of advanced search form.
  • Show minimum file size in image upload form.
  • Add sticky/featured option to fee plans.
  • Add CSS classes for fee plans.
  • Add shortcode [businessdirectory-listing] for displaying single listings.


  • Fixed critical problem with checkbox fields used with categories
  • Fixed conflicts with other Membership plugin (PHP warnings)
  • Fixed error in German translation

Version 3.6.9

  • Add search support for date fields.
  • Fix canonical links for non-listing pages.
  • Automatically check thumbnail checkbox for listings with one image.
  • Add support for title and date as secondary sort options when sorting listings “paid first”.
  • Fix possible conflict with other plugins in reCAPTCHA initialization order.
  • Allow content field to be optional.
  • Allow users to configure how prices are formatted.
  • Add shortcode to display listings with a certain tag.
  • Improve compatibility with some themes.
  • Fixes for date fields.
  • Fix PHP error due to incorrect quotes in CSV files.
  • Add image fields to Lightbox galleries.
  • Show a warning on e-mail fields when e-mail display is disabled.
  • Add a placeholder description to LinkedIn fields.
  • WPML support improvements.
  • Add missing translatable strings.

Version 3.6.8

  • Added support for Discount Codes module
  • Translation file updates (all)
  • Minor fix for mobile devices.
  • Fix reCAPTCHA conflict with Claim Listings.
  • Fix a pagination issue when pagination was disabled.
  • Fixed URL capitalization filter issue to allow mixed-case URLs with parameters

Version 3.6.7

  • Removed namespace support from new reCAPTCHA library to support PHP 5.2 and 5.3

Version 3.6.6

  • Updated full French translation
  • Added full Polish translation
  • New reCAPTCHA version and library.
  • Support use of language-specific URLs for WPML
  • Add ZIP code field to billing information page
  • Update bundled version of SDK
  • Fix date field issue resulting in PHP warnings
  • Add French postal code database to ZIP search module
  • Fixed sidebar issues on Google Maps with unclosed tag
  • Fixed Regions bug to be consistent on selector and sidelist for hiding empty regions

Version 3.6.5

  • Added full French translation
  • Add support for NavXT breadcrumbs plugin
  • New Date form field type.
  • Update Drip code with use of API key
  • Handle expiring of listing regardless of renewal being enabled.
  • Fix some image uploading issues on the backend.
  • Improved CSV import error handling.
  • Allow Advanced Search to work when BD’s main page is also the front page.
  • Minor fixes to image uploading.
  • Fix “Back to Directory” link after trying to delete a listing.
  • Work around Facebook + Twitter button issues when next to each other.
  • Fix PHP error in WPML integration.
  • Some CSS fixes.
  • Allow modules to work on secondary listing queries.

Version 3.6.4

  • Include an str_getcsv() alternative for setups running PHP < 5.2.
  • Fix PHP warning appearing when using the directory without a main page defined.
  • Minor CSS fix for image display on mobile devices.
  • Add support for WP 4.2 split terms.

Version 3.6.3

  • Fixed bug where a post in draft mode was not displaying due to BD
  • Fixed broken link in admin area for editing renewal emails


  • Added EDD updater class change to bring class up to 1.6

Version 3.6.2

  • Fixed WP thumbnail issue where “close enough” sizes were not exactly sized to requested size (thumbnail issue)

Version 3.6.1

  • Fixed issue where View/Edit/Delete showed up at the wrong times and places
  • Added workaround for known Facebook CSS bug during share popups

Version 3.6

  • Added as the default (free) payment gateway, replacing Google Wallet which was discontinued in March 2015.
  • Dropped support for Google Wallet for Business (
  • Added “AJAX compatibility mode” to help with JavaScript/AJAX conflicts.
  • New sequential CSV import process that improves performance and reliability especially for large imports.
  • Added new German translation to core plugin
  • Improved display on mobile devices (full responsive support).
  • Work around some themes not firing some of the hooks for the comments form.
  • Improved quick search performance by reducing the number of JOINs required.
  • Added an optional quick search mode that increases performance by reducing search accuracy (shared hosting support).
  • Prepend ‘http://’ to data entered into URL fields automatically.
  • Apply strip_slashes() to multi-valued field options.
  • Add setting that allows admins to automatically remind users of abandoned payments.
  • Allow setting the post status for listings imported via CSV.
  • Allow users to upload CSV and ZIP files for CSV imports via FTP.
  • Add an option to disable e-mail notifications when importing listings via CSV.
  • Disable geocoding and expensive operations while importing listings via CSV.
  • Improve date picker usability when modifying a listing’s expiration date.
  • Fixed a problem with renewal process when all available fee plans are free.
  • Fix category selections problems on jQuery 1.9+ when jquery-compat is not available.

Version 3.5.7

  • Second emergency Yoast SEO patch to fix issue with get_content_title() API change (1.7.2 and higher in Yoast)

Version 3.5.6

  • Emergency Yoast SEO patch to fix issue with metadesc() API change (1.7.2 and higher in Yoast)

Version 3.5.5

  • Fixed activation bug.
  • Claim Listings added.

Version 3.5.4

  • Improved “the_content” filter support.
  • Add pagination support to the featured levels shortcode.
  • Make category list responsive.
  • Work around a WP bug related to importing categories with ampersands.
  • Fix a JS conflict in some admin metaboxes.
  • Add new “e-mail template” setting type.
  • Added some new e-mail notifications.
  • Prevent removal of listings with active recurring payments.
  • Do not include custom fields on the CSV import page.

Version 3.5.3

  • Various changes related to EDD.
  • Allow removal of listing ID from URLs.
  • New e-mail template for expiration notices of auto-renewed listings.
  • Add “Manage Subscriptions” page to review/cancel subscriptions.
  • Fix permalink generation issues for unpublished listings.
  • Fix preview support.
  • Use the “do_shortcode” action instead of “the_content” filter for processing content fields.
  • Make listing page dates match those from the listing being displayed.
  • Add a default category on install.
  • Add support for images to all widgets.
  • Improve form fields CSS classes.
  • Fix a couple of undefined variables warnings.
  • Add ability to limit sending of contact messages.
  • Allow re-ordering of fee plans.
  • Display current version in admin panel.
  • Re-schedule expiration hook if it is somehow disabled.

Version 3.5.2

  • Fix inexact searches for text fields.
  • Strip slashes from search terms before performing the search.
  • Fix display of search terms containing apostrophes.
  • Add setting for notifying admins of listing edits.
  • Do not send expiration notices for listing fees that auto-renew.
  • Notify users via e-mail after auto-renewal of listing fees.
  • Add support for Lightbox gallery mode.
  • Add form to capture uninstall reasons.
  • Listing cost now includes fees assigned using the backend.
  • Support Yoast’s OpenGraph tags.
  • Minor WordPress API changes for 3.6 compatibility.

Version 3.5.1

  • Fix loading of custom CSS styles.
  • Add random sorting to Featured Listings widget.
  • Do not allow editing/deleting listings with no author from the front end.
  • Fix a warning related to EDD.
  • Minor fixes to the upgrade procedure.

Version 3.5

  • Various upgrade routine fixes
  • Added more robust reCAPTCHA checks and anti SPAM measures for contact and comment forms.
  • Improve registration URL behavior.
  • Various minor CSV import/export fixes.
  • Fix an issue that prevented listings from being displayed when sorting paid listings first
  • Show empty categories by default.
  • Added warning when empty categories is on and categories are empty
  • Submit listing no longer ignores invalid reCAPTCHAs.
  • Fix fatal error occurring when no title could be obtained for a listing.
  • Include OpenGraph tags on listing pages for better FB sharing experiences.
  • Search single valued fields in an exact manner for improved performance.
  • Various quick search fixes.
  • Display a warning when choosing too many text quick search fields.
  • Display directory counts for users with editor permissions.
  • Add support for updating listings via CSV imports.
  • Various code quality fixes.
  • Count listings in admin more efficiently.
  • Allow listings with expired categories to be edited if they are published
  • Make backend use frontend permalinks for previews.
  • Workaround WP’s bug #18857 that results in admin pages slugs being translated and resources not loading.
  • Checked compatibility with WordPress 4.0.
  • Various manual upgrade fixes.
  • Integrate Easy Digital Downloads cart support for premium modules.

Version 3.4.1

  • Various upgrade routine fixes
  • Respect default post statuses after CSV import
  • Quick search fixes
  • Better handle JWT class conflicts
  • Fix typo to support old shortcodes
  • Prefix some CSS classes to avoid theme conflicts
  • Better support for MySQL’s STRICT mode
  • Fix shortcode detection
  • Various image upload fixes
  • Added shortcode for advanced search page [businessdirectory-search]

Version 3.4

  • New [businessdirectory-featuredlistings] shortcode.
  • New Payments API that supports recurring payments.
  • New listing submit/edit process.
  • Add OpenTags metadata for better Facebook sharing support
  • New “sort bar” that allows users to sort listings on front end by various criteria configurable on back end.
  • Add support for CC’ing notifications to an e-mail address other than the admin’s.
  • Do not allow change or category fees for frontend edits.
  • Allow admins to override registration URL.
  • Redirect users back to the page they were before registration.
  • Fix PHP warnings during CSV exports.
  • Workaround for static binding support in PHP < 5.3.
  • Add rel=”lightbox” to listing thumbnails.
  • Add default arguments to _meta_title hook.
  • Use get_temp_dir() to locate WP’s temp directory.
  • Alert admin when there is not a valid temp directory for CSV imports.
  • Do not allow TIFF images to be uploaded.
  • Check compatibility with WP 3.9.
  • Streamline listing edit process.
  • Correct typo affecting anonymous listing submits.
  • Do not send notification emails when a listing is edited.
  • Fix some CSV export file path problems.
  • Add more robust error handling to the CSV export process.
  • Prevent multiple listing submits.
  • Fix compatibility with latest Yoast version.
  • Load CSS and JS resources only on directory pages to improve site performance.
  • Minify CSS and JS resources to improve response times.
  • Support both [businessdirectory-manage_listings] and [businessdirectory-managelistings].
  • Fix admin-side renewal of listings.
  • Remove PHP session usage from BD.
  • Fix anonymous users not being able to upload images in Image fields.
  • Add new update/migration routine.
  • Add a ‘Settings’ link on Plugins page.
  • Contact messages template can now be changed via “Manage Options”.
  • Fix support for tag fields of checkbox type.
  • Improve listings shortcode display when multiple categories are used.
  • Fix a bug where uninstall would not remove all tables and data.
  • Add password recovery link to login template.
  • Quick searches can now be performed in all fields. Other search improvements.
  • Several admin-side UI improvements.
  • Add a dedicated e-mail settings tab.
  • Improve compatibility with PHP 5.2.
  • Fix an error when saving multivalued form fields.
  • Work around for Google Analytics plugin rewriting javascript-callback links.
  • Consolidate all e-mail template settings in one place.
  • Correctly apply default post status after listing submits.
  • Form fields can now be sorted via drag and drop.
  • Integrate all gateways with 3.4 submit process.
  • Integrate all gateways with new Payments API.
  • Improve “Manage Restrictions” screen usability.
  • Integrate with the new 3.4 submit process.
  • Make character restrictions ignore new lines.
  • Fix truncation of text when character restrictions are in place.
  • Allow module to restrict “reply to” listing functionality.
  • Make sure themes or plugins don’t override Google Maps JS sensor argument.
  • Replace cURL function calls with wp_remote_get calls.
  • Show admins a warning when listings have not been geocoded due to Google API limits.
  • Play nice with other themes/plugins to avoid including the Google Maps JS API multiple times.
  • Add support for subscriptions (recurring payments).
  • Fix incorrect search query being generated when ratings field was not visible.
  • Fix typo in Ratings that caused AJAX edits to fail.
  • Add email notification for ratings pending approval.
  • Allow users to choose where the rating field appears.
  • Stripe gateway initial release.
  • Add Mexico postal code database support.
  • Updated US database.
  • Fix typo in search algorithm.
  • Fix cache expiration detection code.
  • Integrate with 3.4 submit process.
  • Index some MySQL columns for improved performance.
  • Allow admins to configure how radius search works.
  • Fix detection of incompatible gateways being enabled at the same time as PayFast.

Version 3.3

  • Minor changes for WP 3.8 compatibility (admin CSS).
  • Show fee selection screen when offer upgrades on submit is active so listings can be upgraded even when no fees are configured.
  • Display category ID on the Directory Categories table.
  • CSV export now works in batches to avoid timeout and memory limits.
  • Fix escaping issue in settings API.
  • Fix incorrect category counts.
  • Allow multiple categories when using the category shortcode.
  • Fix reCAPTCHA conflicts with regular post comments.
  • Add a separate setting for listings per page.
  • Allow for empty selection of select fields in searches.
  • Allow changing expiration dates of listing fees in the admin.
  • Change int columns to bigint for scalability reasons.

Version 3.2.2

  • Patch for categories problem introduced by renaming in 3.2.1

Version 3.2.1

  • Migrate Google Checkout to Google Wallet, updated gateways, workflow, API

Version 3.2

  • Add option to track BD setups for testing purposes.
  • Correctly import URLs through CSV files.
  • Make the entire top button bar hidden if no button is displayed.
  • Apply a more efficient query to count expired listings in admin as not to block the site.
  • Display expired categories just one time inside the category column admin-side.
  • Make listing sort options uniform.
  • Added random sort option for listings.
  • Added option to display listing thumbnails in the Featured Listings widget.
  • Change default to not trash expired listings.
  • Added support for Terms & Conditions to be required at submit time.
  • Added CSV export tool that exports listing info including featured status & expiration info.
  • Added support for featured status & listing expiration date columns for CSV imports.
  • Fully respect listing image display settings.
  • Update bundled reCAPTCHA library to latest version.
  • Do not import reCAPTCHA library when reCAPTCHA functions are already available.
  • Add reCAPTCHA support to the listing comment form.
  • Add official spanish (es_ES) translation.
  • Fixed typos in strings
  • Allow admins to decide how listing owners are to be contacted.
  • Added ability for reminder email on renewals past due.
  • Added ability to allow HTML input in TextArea fields.
  • Make category field respect “hide empty categories” in search widget.
  • Workaround for Simple Facebook Connect conflicts.
  • Added notice on Registration tab when Registration is off on the site and listing submit requires login.
  • Added special CSS class to subcategories in main category list.
  • Fixed for category counts being incorrect in some special scenarios.
  • Fixed payment gateway availability check in Directory – Main Menu page.
  • Avoid recursion errors during wpbdp_get_page_link calls.
  • Allow HTML in field label & description.
  • Fixed expiration notification code that prevented emails from being sent in some cases.
  • Workaround a WordPress bug that causes terms with ampersands to be missed in searches.
  • Add option that allows execution of WP filters/shortcodes inside content fields.
  • Fixed a bug where the author was being reverted to admin when editing a listing.
  • Updated category walker code to match WP’s 3.6.1.
  • Improved SEO capabilities and Yoast SEO integration.
  • Fixed an incorrect SQL query run when deleting form fields.

Version 3.1.1

  • Fixed add listing shortcode issue
  • Fixed featured levels field association save problem
  • Changed workflow to not display fee step when nothing is payable
  • Fixed Edit button problem (where it showed the Add Listing screen instead of edit)
  • Fixed search results to use the blog setting instead of 10 listings
  • Fixed CSV import issue

Version 3.1

  • New module: Featured Levels
  • New module: Category Icons
  • New module: ZIP code search
  • Allow search form to be hidden when results are displayed.
  • Fix handling of NULL/empty column values in some MySQL databases that confused the Form Fields API.
  • Do not fail when a listing’s ‘sticky’ flag appears twice (or more) in the database .
  • Honor edit-post status after a listing edit .
  • Make WordPress generate valid permalinks for a recently submitted listing
  • Use update_post() instead of publish_post() to force WP not to trash existing permalink slugs when bulk-publishing listings
  • Do not print empty subcategory lists in the main category view.
  • If options are manually specified in a tag field use them as choices instead of the whole tag taxonomy list.
  • Add a workaround for a known PHP issue where empty and zero values are incorrectly compared.
  • Improve title handling compatibility with Yoast SEO plugin.
  • Reviewed compatibility with PHP 5.3 & WP 3.5.2.
  • Make uninstall process actually delete all settings and BD content.
  • Do not display the upgrade to featured option when submitting a listing if featured listings are disabled.
  • Fix numbering of submit process steps.
  • Make category fields respect configured category ordering when they are rendered.
  • Categories are now displayed hierarchically when using checkbox/radio category fields.
  • Fix unpaid listing count in admin.
  • Do not change the listing status back to pending if it was already published when a transaction is approved.
  • Extend Yoast SEO support to include category & tag descriptions.
  • Payment process page now displays error messages that come from the payment gateway.
  • Allow plugin to work correctly when its directory is a symlink.
  • Workaround Relevanssi plugin causing problems uploading images.
  • Correctly escape & unescape strings when saving and displaying a field’s name.
  • Restore ‘preview’ functionality for listings admin-side.
  • Use category/tag description for category/tag pages metatags.
  • Compatibility with XML site maps reviewed.
  • Fix handling of comma/semicolon-separated tags in CSV import.
  • Make category fields work correctly when using radio buttons.
  • Add a pending expiration/renew ad email that is sent a configurable number of days before the actual listing expiration happens
  • Listings get republished after a renewal.
  • New core filters/actions to allow plugins to display and handle field settings in the admin.
  • Improve handling of expired categories in listings admin-side.
  • Allow users to opt-out of a listing renewal.
  • Add a new ‘expired’ filter to quickly find listings with expired categories.
  • New “Transactions” section to administrate listing transactions.
  • Use a better return/cancel URL for the PayPal module .
  • Fix SQL query that returned incorrect results when filtering listings by rating in Advance Search.
  • Allow ratings tooltips to be overridden by the user.
  • Change default start tooltips to more sane default values.
  • Geolocate listings server-side instead of using the JS API to avoid hitting Google Maps limits.
  • Performance enhancements.
  • Show all relevant listings in a category or search results page instead of just the ones visible on the page.
  • Use newlines instead of commas to separate address parts when displaying a map pin.
  • Use a special hash to mark listings that need to be geolocated to avoid unnecessary hits to the Maps API.
  • Do not fail when an expected region form field was manually deleted by the admin
  • Workaround WordPress showing incorrect listing counts for the Regions taxonomy.
  • Make Regions cache regeneration work even if some region fields are not present.
  • Fix display of incorrect regions in the sidelist when no region field was visible.
  • Allow region selector to be completely hidden.
  • Show an admin warning when regions is incorrectly configured
  • Allow listings to be assigned a region admin-side even before the first save.
  • Reset current page variable when changing the current region.
  • Move all settings to “Manage Options” section.
  • Add a display flag specific for the region selector.
  • Fix region fields display so that the order in which the fields appear doesn’t affect functionality.
  • New location search widget (ZIP code module).
  • Added support for US/UK and US+UK postal code databases in ZIP module.

Version 3.0.2

  • Further additions to allow for restoration of “invalid” fields for 3.0 users affected by 2.2->3.0 upgrade

Version 3.0.1

  • Added code to workaround critical WordPress dbDelta issue with PHP 5.2.x users
  • Fixed category display bug where “Hide Empty Categories” would hide all categories instread.

Version 3.0

  • New form fields API
  • Allow for label hiding in form fields
  • New URL field
  • URL Validator now supports more schemes other than http or https
  • Social fields marked as “optional” do no longer fail to validate when empty
  • Make social fields work correctly with URL Validator
  • Fix an issue with single checkbox fields
  • Now possible to specify if a URL field has rel=”nofollow” or not
  • Fix a re-ordering issue with bottom most fields
  • Fix an issue with radio button fields showing labels twice
  • Restore ability to hide the search form
  • Simplify WordPress queries to improve loading speed for directory pages
  • Search results are now sorted using the directory configured setting
  • Added option to notify admins via email when new listings are posted
  • Allow listings to be upgraded to featured during the initial submit process, This option is controlled by the “Offer upgrades during submit process?” setting.
  • Include listings in children categories in search results when searching a category
  • Make tag association work correctly with checkboxes
  • All BD buttons have now class ‘button’ or ‘submit’ depending on their type for easier theming
  • Form elements in widgets, search form, etc. now use specific IDs for easier theming
  • Handle accented words and apostrophes correctly when importing listings via CSV files.
  • Allow users with edit permissions to change listing images in backend
  • Fix category posts being incorrectly counted when there were expired listings
  • CSV import now complaints when a required field column is not present
  • CSV import now complaints when a user isn’t found
  • Do not change listing author when using quick edit in the admin
  • Plugin checked for WPMU compatibility
  • Preserve the language parameter in BD links when qTranslate plugin is found to be active
  • Fix image issue due to conflicts with Jetpack plugin
  • Add “Listings Tagged: [tag]” to the title & header of tag pages
  • Fix an issue where paid listings were being published even when the payment was skipped
  • Add Lightbox support
  • Admin menus minor reorganization
  • Add a “Clear” button to the search form
  • Make use of listing emails before others for delivering renewal emails
  • Detect some conflicting social plugins (AddThis Social Bookmarking Widget, Jamie Social Icons, TF Social Share, Shareaholic, Quick AdSense) and disable them on directory pages
  • Call ‘handle_action’ further down the action pipeline to avoid problems with other plugins
  • Rewrite rules and query vars cleanup
  • Fix canonical redirects so the BD page works even when set as home page
  • Lots of deprecated functions removed and code cleanups.
  • Better detection of the current action being performed inside BD pages
  • Do not overwrite titles of pages outside of BD. Fixes a conflict with AWPCP
  • Produce correct ‘canonical’ link head tags for listings, categories and tag pages
  • Make BD support Yoast SEO plugin’s metadata and title tags on listing pages.
  • Include RSS feed links for listings and categories in directory pages

Version 2.2

  • Added support for Regions module
  • Fixed CSV import error for PHP character munging


  • Fix PHP 5.4 error during install
  • Fix error “Fee must be associated to a category” when a category was selected.

Version 2.1.6

  • Support for all currencies supported by PayPal.
  • Do not make URL fields required when marked as optional.
  • When searching a field with multiple options, the options are now ORed.
  • Twitter field type for @ handles. On display, a “Follow” button appears.
  • Facebook field type for pages. On display, a “Like” button appears.
  • LinkedIn field type for company IDs (not supported for individual profiles). On display, a “Follow” button appears.
  • Image settings in “Manage Options” are always respected (no approximate sizes are used). Thumbnails of the correct size are automatically created when an image is uploaded.
  • If image settings change, new thumbnails are created on the fly when a listing is visited. This happens only on “single view” to avoid consuming a lot of server resources.
  • When uploading images at the submit/edit listing form useful errors are now displayed. This happens when images are of a bigger size than allowed or are not really image files. Previously, it wasn’t clear why an upload could fail.
  • Long description can now be set to Optional, required fields that can’t be changed have disabled checkbox shown
  • Empty URL field labels are not displayed
  • CSV importer fixes for descriptions with newlines
  • Fixed PO file to include Directory button label
  • Hide payment & fee info on posts from non-administrators
  • Upgrade PayPal interface for compatibility alert due in Feb 2013 (HTTP headers)


  • Added support for PayPal currencies: BRL, TRY, MRY
  • Fixed bug where upgrade of Website address did not auto-copy the link text
  • Fixed advanced search issues with categories
  • Fixed advanced search to use OR instead of AND for multi-select listboxes
  • Fixed URL validator to not make field required when URL is empty
  • Fixed permalink rules to work with index.php-based approach


  • Fixed WP API change: Missing argument 2 for wp_kses()

Version 2.1.5

  • Added a Back to Directory button for listings
  • Added sorting order for ratings (by ratings and count)
  • Minor HTML tweaks for layout
  • Added Link Text for Business Website (to create a complete anchor tag with SEO value)
  • Changed fields to be hideable from Advanced Search Form
  • Added better error messages displayed when payment gateways are not correctly configured for use
  • Added payment skipping for admins, including a message that clearly shows the payments are being skipped because the current user is an admin
  • Comments in listings are correctly displayed now
  • CSV import now supports newlines in the import fields
  • Contributors can’t manage listings now
  • Removed HTML comments from core templates that caused problems with some themes
  • Category and tag names are now displayed in the page title
  • Fixed Google Checkout Seller ID issue (removed field)
  • Fixed labels for directory so that the colon is not outside the label
  • rel attribute added to images
  • Search widget added
  • CSV import now supports multiple categories using the category separator
  • Fixed stripslashes bug with field labels


  • Fixed issue with default display of form fields (caused fields to hide in listing)

Version 2.1.4

  • Added support for Ratings module
  • Fixed problems with comments
  • Fixed problem with featured listings not displaying on the page with the correct count
  • Improved speed of queries for main listings
  • Fixed search pagination issue with lengthy result sets
  • Fixed issue where number of posts per page did not include featured listings

Version 2.1.3

  • Fixed shortcode usage problems with new codes
  • Fixed permalink issues with categories and listings
  • Added the Directory button back to most pages for simpler navigation.
  • Added the ability to hide the directory button in the admin options
  • Fixed HTML template issues for listings and single view pages (buttons showed HTML as text)
  • Added error message when the main shortcode is not present on any page
  • Fixed 2Checkout plugin for 2.1.2
  • Fixed search page pagination
  • Added back pagination API from WordPress for listings page, fixed bugs where post display was not honored
  • Added checks for tags and slugs using permalink rules
  • Fixed submit listing to only submit listing once when clicked repeatedly (or refreshed by accident)
  • Added reCAPTCHA support to comments AND listings both
  • Fixed CSV import issues with permalinks and dates
  • Fixed payment gateway deactivation issues when plugin is upgraded.
  • Improved search query speeds
  • Added ability to select whether a field should appear on the listing’s single view and/or excerpt view separately.
  • Admins can edit / upgrade listings through the frontend regardless of the listing payment status.
  • A confirmation dialog is now shown when deleting a listing.
  • Comments on listings always follow the setting inside “Manage Options” (don’t have to enable/disable comments individually on listings through the admin side).
  • Fixed issue with custom CSS: files can be placed inside the “wp-plugin” directory now (per the docs).

Version 2.1.2

  • Fixed critical query issue that prevented short code pages from working (Add Listing/Edit Listing)

Version 2.1.1

  • Fixed Directory button to display in listings
  • Minor CSS tweaks to show labels in bold
  • Fixed bug with category and single listing links where they would not display when clicked (404 error)

Version 2.1

  • Added support for CSV import, including images in ads
  • Added support for custom CSS extensions via CSS files outside of BD
  • Added new shortcode names (easier to remember). Old shortcodes still supported.
  • Added support for parameters on WPBUSDIRMANMVIEWLISTINGS/businessdirectory-viewlistings to allow for single category display on a page.
  • Upgraded search to have “Advanced Search” link now, all fields are searchable.
  • Streamlined the submit process for Free ads (no longer asks for payment)
  • Website URL opens in new window (new field option for URLValidated fields)
  • New widgets: Featured Listings, Latest Listings, Random Listings
  • HTML emails: Email sent in HTML format instead of text now
  • Preview Form is back.
  • Google Maps now recognized on Premium Modules panel as installed/not installed
  • MASSIVE upgrade to theming/theme integration, much easier to get BD going now. Still have override templates, but fewer than before.
  • Page based navigation–allows for tighter theme integration and easier upgrades. Requires the use of permalinks for pretty URLs
  • Fixed problem with URL validator not working right.
  • Fixed problem with IE9 and button display
  • Fixed ad pagination problem.
  • Fixed problem with ad expiration validation (where 9999 caused weird 404 errors)
  • Category list call from API now working again.
  • Subcategory display problem in admin panel fixed.
  • Users must select a category when creating a fee plan
  • Fixed bug with Manage Form Fields button on Main Menu (permission issue)

Version 2.0.5

  • Added ability to use bulk operations from admin menu (Upgrade/Downgrade, Set Paid, etc)
  • Fixed problem with PayPal module not redirecting after payment on some sites
  • Removed BD metadata from deleted posts (speeds searches)
  • Fixed wp_pagenavi() warning
  • Fixed bug where website field could not be cleared of data
  • Fixed issue where admin could not edit other listings
  • Added confirmation email to be sent after listing is complete
  • Changed Upgrade to only work for Admins
  • Updated plugin to use wpdb->query for all DB operations
  • Fixed pagination problem with “Older listings” link
  • Fixed duplicate search issue (duplicate results returned on searches)
  • Fixed sticky/featured listing sorting problem to be consistent for category, listing and page views


  • Fixed image upgrade issues (missing thumbnails, duplicate pictures in listings)
  • Fixed edit glitch with empty tags field
  • Added control over Submit a Listing button to show/hide. Added support for other listing buttons as well.
  • Fixed minor _x() calls with missing parameters
  • Fixed an issue with submitting listings for all blank fields (PHP warning)
  • Fixed issue where empty fields would display labels when no value was present

Version 2.0.4

  • Upgrade to image upload/management system
  • Fixed form for creating new listings, both admin and user side
  • Fixed listing renewal, emails now go out prior to expiration
  • Payment modules upgraded to handle renewals
  • POST variables now properly configured for Windows and Linux
  • div’s properly closed on Submit Listing
  • Comments will display when option is checked now
  • Directory definition issue with wp-content fixed
  • Require registration option now properly displays in admin panel
  • Field metadata is hidden and properly namespaced
  • Sticky listings in category no longer cause No Listings Found
  • Translation issue fixed
  • Location field will not disappear on upgrade
  • Invalid argument foreach() issue fixed
  • Email now goes to site owner as expected
  • Submit Listing layout problems fixed
  • Submit listing duplicate fields display fixed
  • Manage fees upgraded for renewals
  • Image displays in list and single view properly now
  • Editing listings will not randomly change category now
  • Users can control which image is set for the thumbnail of a listing now
  • Support for multiple categories in a listing added
  • Add New Listing navigation bug fixed

Version 2.0.3

  • Autocreate required fields
  • Directory admin menu set to be visible only to administrator role
  • Content field will not show as link now
  • Reply emails go to the business listing instead of site owner
  • Listings without photos now no longer have placeholder
  • Submit Listing no longer displays raw HTML code to user
  • Plugin now uses UTF-8 functions to properly handle non-ASCII characters
  • BD now integrates in a more friendly way with themes, avoids overriding when possible
  • preg_match() warning fixed
  • Extra line breaks removed from listing display
  • Conflict with Yoast All in One SEO fixed
  • Changing the slug now checks for reserved/already used slugs to avoid conflict
  • Form fields now custom ordered
  • Module detection code fixed, now displays which modules are installed for PayPal/2Checkout

Version 2.0.2

  • A revamped form-fields system that would allow plugins to create or use their own custom fields and validation rules.
  • A new “Manage Form Fields” page which looks better and conveys information in a more friendly way.
  • Custom fields can now be ordered as the user wishes. This ordering is used when displaying both the add/edit forms and listing information.
  • Allow users to specify if a particular field should be displayed in excerpt or not at all.
  • A better add/edit form-field page including some AJAX tricks to hide unnecessary fields. For instance, when you select a “Textfield” the “Options” field is hidden because the field isn’t multivalued. The form is now also a standard WP form.
  • A new “field description” field that could be used by admins to display additional information along the form fields.
  • Validation when adding/editing custom form-fields to prevent users from removing or modifying required fields (like title, content, etc.)
  • New validation framework for fields.
  • Fixed bug where Featured ads could not be downgraded.
  • Fixed delete field bug.
  • Fixed ereg() warning bug.

Version 2.0.1

  • Fixed scripting error with booleans for some WP installs
  • Fixed category 404 problems, clean up navigation
  • Fixed short description display issue
  • Fixed shortcode usage problems (content displayed below directory, no matter where shortcode was)

Version 2.0

  • Reset versioning to sensible convention
  • Fixed search CSS and searching functionality
  • Changed category management to simplify
  • Added payment status, featured status into listing screen directly
  • Google Checkout bug fix
  • Fixed various scripting errors (22 bug fixes total)
  • Button alignment fixes and admin UI cleanup

Version 1.0 (1.9.6)

Business Directory Plugin carries over from the last version of WP Business Directory Manager (1.9.5) Fixes include:

1. Sticky listings bug fix

2. Fixed broken submit form (raw html code displaying on front end)

3. Tags fixed (previously clicking on tag links did not display any tag related content)

4. New classes added for sticky listing styling

5. Addition of basic search feature

Previous changelog from WP Business Directory Manager

Version 1.9.3 – Sticky listings fix for error where upgraded listings were not being listed under “Manage Featured”.

    Paid listings fix for error where paid listings were not being listed under "Manage Payments"

    Applied fix for payment calculation and handling where users are allowed to submit listing to multiple categories

    Fixed bug with images where number of images left wass sometimes greater than the total number of images allowed

    [ Thanks to Mike Bronner for his help with the below list of improvements and fixes to the plugin]

    - Fixed issue where shortcodes would always cause the Add Listing Form to display prior to content.

    - XHTML compliant.

    - More versatile arrangement of form elements.

    - Improved label handling (added proper IDs and FOR attributes).

    - Changed 'wp_dropdown_categories' function call to pass in an array of arguments, and adding arguments "echo" and "class".

    - Added functionality so that required fields receive a class name 'required'. This will allow for highlighting of required fields, etc.

    - Added "required" class to input fields in AddListing form, allowing them to be stylized.

    - Internal code optimization and cleanup.

    - Added hooks (filters) on functions that display HTML to allow user overrides of those functions in functions.php in their template. This is possible by removing the filters, then re-adding them and pointing to their own functions using the functions.php file in their theme.

    - "Add Listing" form will now submit back to itself. This will allow you to retain styling of the form separate from the directory. It is also no longer necessary for the Add Listing page to be a child of the Directory page.

    - Expanded slightly on the hookability of the add listing functionality, further allowing other developers to extend the plugin.

    - Updated text to be displayed on add listing form is user wasn't logged in.

    Bug Fixes: