Connections Business Directory


Showcase | Documentation | Support | Templates | Extensions

Connections Business Directory is one of the best business directory plugins available for WordPress. Its simplicity in design and function, vast array of unique features and versatility are the reasons more and more people are turning to Connections Business Directory for their directory needs. You can use Connections to create a simple address book, maintain a staff or member directory and run a business directory or link directory. Connections Business Directory was built bottom up to be as configurable as possible while providing the features you need. Read on to learn about some of the best features Connections Business Directory has to offer…


  • Highly rated support.
  • Continuously updated bringing you new features for free.
  • Compatible with all themes including popular themes such as Avada, Divi, Enfold and OceanWP.
  • Compatible with most popular page builders such as Elementor, Beaver Builder, Brizy, Visual Composer, Fusion, SiteOrigin, etc…
  • SEO. Every entry in your business directory outputs following the hCard spec. Soon to be updated to following
  • Event Logging Integrates with the Simple History plugin; logging directory related events such as creating a new entry, modifying an entry, and deleting an entry.
  • Supports the WordPress Block (Gutenberg) Editor with the following blocks.
    • Carousel Block :: Display your directory as a carousel.
    • Directory Block :: Use this block to embed your directory in a page.
    • Team Block :: It’s easy to use Connections to build your team page! Team Block is a full-featured block with multiple layout styles. While premium team plugins can set you back $20 or more, Team Block is free for all Connections users.
    • Upcoming List Block :: Use this block to display an upcoming list of anniversaries, birthdays or other events.
  • A growing selection of Content Blocks:
    • Related Entries:: Display related Entries in a mobile responsive carousel.
    • Nearby Entries:: Increase discoverability of Entries by displaying nearby Entries in a mobile responsive carousel.
    • Recently Viewed:: A list a directory Entries the user has recently viewed.
    • Last Viewed:: The last directory Entry the user viewed.
    • Frontend Entry Management:: Management options include a quick link to edit the Entry and a Delete option.
    • Entry Meta:: Display details such as when the Entry was added nad last modified and by whom.
  • Dashboard admin page where you can see at a glance today’s anniversaries and birthdays as well as upcoming anniversaries and birthdays of members in your directory.
  • Multiple entry types from which to choose; such as individual, organization and family. The family entry type is unique to Connections. This entry type allows you to group individuals together as a family which makes Connections ideally suited for creating a church directory.
  • You control which entries are viewable to the public and which entries are private, viewable for logged-in users only. You can even have entries set as unlisted so only admins can view them.
  • Repeatable fields for address, phone numbers, email, instant messenger, social media, links and dates which allow you to add as much or as little as you need for each business in your business directory.
  • Hierarchical (nested) category support. Businesses and members in your business directory can be added to any number of categories.
  • Include a biographical text for an individual member or business description for each entry in your business directory using an easy-to-use rich text editor.
  • You can easily add a business logo or photo of the staff member for each entry in your business directory or staff directory. The photo and logo images are fully responsive with HiDPI (Retina) display support.
  • Scalable, manage directories which contain hundreds of thousands of entries.
  • CSV Export of addresses, phone numbers, email addresses and dates.
  • CSV Import of nested categories.
  • Role capability support.
  • Displaying your business directory on the frontend is as simple as putting a shortcode on a page. Don’t let this simplicity fool you. The shortcode provides a large array of options that are just too numerous to list. To learn more, go here.
  • Extensible and developer friendly.
  • Robust templating support with the Template Customizer. Several basic templates are provided to get you started with you business directory with many more premium templates available to really make your business directory shine.


Here are some great free extensions (with more on the way) that enhance your experience with Connections Business Directory:


  • Toolbar :: Provides quick links to the admin pages from the admin bar.
  • Login :: Provides a simple-to-use login shortcode and widget.
  • Anniversary and Birthday Emails :: Add the ability to automatically send a customizable email to entries on their anniversary or birthday.

Custom Fields


  • Face Detect :: Applies face detection before cropping an image.

Premium Extensions

  • Authored :: Displays a list of blog posts written by the entry on their profile page.
  • Contact :: Displays a contact form on the entry’s profile page to allow your visitors to contact the entry without revealing their email address.
  • CSV Import :: Bulk import your data in to your directory.
  • Custom Category Order :: Order your categories exactly as you need them.
  • Custom Entry Order :: Allows you to easily define the order that your business directory entries should be displayed.
  • Enhanced Categories :: Adds many features to the categories.
  • Form :: Allow site visitor to submit entries to your directory. Also provides frontend editing support.
  • Link :: Links a WordPress user to an entry so that user can maintain their entry with or without moderation.
  • ROT13 Encryption :: Protect email addresses from being harvested from your business directory by spambots.
  • SiteShot :: Show a screen capture of the entry’s website.
  • Widget Pack :: A set of feature rich, versatile and highly configurable widgets that can be used to enhance your directory.

Premium Templates

Connections Business Directory comes with a couple templates to get you started which fully support the Template Customizer. In addition to these free templates there are many premium templates available to take your business directory the level visually.

  • Circled :: A simple but bold template specifically designed for displaying small team or staff directory.
  • cMap :: Our most popular go to template for a business directory and chamber of commerce business directory, featuring full Template Customizer support.
  • Excerpt Plus :: Simple design which features a directory entry name, photo thumbnail and excerpt.
  • Gridder :: Another simple but bold template which displays the directory in a grid layout. Perfect for displaying a small team or staff directory
  • Slim Plus :: Specifically designed to take up as little space on the page as possible.
  • Tile Plus :: This template was purposely designed to display the directory in a grid or column layout.

Developer Friendly

  • Open development on GitHub.
  • Access to 180 action hooks and over 300 filters … and counting.
  • Term API.
  • Custom Metabox and Fields API.
  • Template Engine and API.
  • Fragment Cache API.
  • Log API (stateless and stateful).
  • Admin Notices API.
  • Email API.
  • Settings API.

Connections Business Directory has a very flexible template engine. The loading of template and CSS are context aware. This means you could create specific templates that load when a user visits a specific entry, category, postal code and more.

Templates and CSS overriding is very granular and update safe. Check out these links for the details:


Connections Business Directory has been embraced around the world and has been translated by its users in the following languages.

  • Arabic [60% Complete]
  • Catalan [52% Complete]
  • Croatian (Croatia) [22% Complete]
  • Danish [31% Complete]
  • Danish (Denmark) [29% Complete]
  • Dutch (Netherlands) [49% Complete]
  • Finnish [78% Complete]
  • French (France) [90% Complete]
  • German (Germany) [86% Complete]
  • Greek (Greece) [69% Complete]
  • Hebrew (Israel) [61% Complete]
  • Hungarian (Hungry) [52% Complete]
  • Italian (Italy) [58% Complete]
  • Norwegian [13% Complete]
  • Persian (Iran) [52% Complete]
  • Polish (Poland) [52% Complete]
  • Portuguese (Brazil) [77% Complete]
  • Portuguese (Portugal) [24% Complete]
  • Romanian (Romania) [69% Complete]
  • Russian (Russia) [40% Complete]
  • Serbian (Latin) [2% Complete]
  • Spanish (Latin America) [49% Complete]
  • Spanish (Mexico) [99% Complete]
  • Spanish (Spain) [99% Complete]
  • Sweden (Swedish) [96% Complete]
  • Turkish (Turkey) [58% Complete]




A comprehensive list of FAQs can be found here.

How do I install Connections?

Installation instructions can be found here.

Using the WordPress Plugin Search

  1. Navigate to the Add New sub-page under the Plugins admin page.
  2. Search for connections business directory.
  3. The plugin should be listed first in the search results.
  4. Click the Install Now link.
  5. Lastly click the Activate Plugin link to activate the plugin.

Uploading in WordPress Admin

  1. Download the plugin zip file and save it to your computer.
  2. Navigate to the Add New sub-page under the Plugins admin page.
  3. Click the Upload link.
  4. Select Connections Business Directory zip file from where you saved the zip file on your computer.
  5. Click the Install Now button.
  6. Lastly click the Activate Plugin link to activate the plugin.

Using FTP

  1. Download the plugin zip file and save it to your computer.
  2. Extract the Connections Business Directory zip file.
  3. Create a new directory named connections directory in the ../wp-content/plugins/ directory.
  4. Upload the files from the folder extracted in Step 2.
  5. Activate the plugin on the Plugins admin page.

How do I display the business directory on my site?

We have a QuickStart available that’ll walk you through the most basic setup. Basically all you need to do is, create a page, and add the [connections] shortcode and then start adding entries to your directory.

Will it work with my theme?

Connections Business Directory has been designed to work with any theme.

Is Connections Business Directory translation-ready?

Yes it is. Connections Business Directory comes with many user supplied translations. We use Transifex to manage translations. This service make it easy for us manage and easy for you to translate. To read more, see this page.

Is Connections Business Directory compatible with WordPress Multisite?

Yes it is. However, do not Network activate Connections. Activate it on only the subsites that you wish to use Connections.

Is it possible to share entries with other sites within a WordPress Multisite installation?

Yes this is possible but there is a special setup required to do so. It is recommended this is done before added entries to your business directory.

  1. Activate Connections Business Directory the primary site.
  2. Add define( 'CN_MULTISITE_ENABLED', FALSE ); to your wp-config.php file. NOTE: If you have added any entries to any of your subsites, that data will be lost as Connections will read the directory entry data from the primary site’s database tables.
  3. Activate Connections Business Directory on the subsites you wish to use Connections.

What are the requirements to run Connections?

  • WordPress version: >= 2.3
  • PHP version: >= 5.6.20 ( 7.1 is highly recommended)


July 24, 2024
I picked up a site with this plugin and walked into backwards. Steven helped me figure out what the issue was and gave me the solution perfectly. Great customer service. I appreciate it and him. Thanks again!
January 4, 2024
We decided to use Wordpress for a support site for our online store because the plugins allow adding some quick functionality without too much fuss, expense or programming. We selected the Connections Business Directory plugin after reading the reviews, the level of author support and the cost. There are quite a few sites that showcased some of what is possible and so we dived in – I should also mention I am not an advanced WP user. Using the plugin we just finished laying out a number of contractor search portals for our customers which will allow them to search by zipcode radius, or by multiple categories such state and by the types of services offered. We are able to map multiple addresses and the structure is versatile enough that I can see additional uses. I got stuck in a few places while developing it do to my lack of knowledge but the author was very responsive on the forums and pointed me in the right direction – and in a couple of cases even supplied drop in code. I am extremely satisfied by this plugin and recommend it for your consideration if you need to build any type of searchable directory.
November 21, 2023
Hands down the best Business Directory plugin that I have used thus far!Flexible and affordable, met all of our needs and will allow us to allow our members to gain exposure, both locally and nationally. The support has been amazing. Very prompt responses and the trouble shooting is great.Highly recommend this plugin to anyone that looking for a Directory of any kind.
September 29, 2023 4 replies
Just what i need to inform employees birthday, too bad, doesnt show their photos, unless i stop webp upload in setting menu, otherwise top max plugins, thx Steven
June 19, 2023
I have been using Connections for a number of years for my organization. It is a great plugin and what I like best is the customer service is first rate. Every time I’ve had any question, it’s been responded to quickly and successfully. Great product, great service.
Read all 429 reviews

Contributors & Developers

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


“Connections Business Directory” has been translated into 1 locale. Thank you to the translators for their contributions.

Translate “Connections Business Directory” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.


Complete Changelog can be found here.

10.4.65 02/28/2024

  • NEW: Introduce Field\Term_Checkbox_Group.
  • TWEAK: Make \Form\Field\Select_Term::setQueryParameters() chainable.
  • TWEAK: Declare strict types in \Form\Field\Checkbox_Group.
  • TWEAK: Add parameter and return types to \Form\Field\Checkbox_Group.
  • TWEAK: Rename \Form\Field\Select_Term to \Form\Field\Term_Select.
  • TWEAK: Remove unnecessary variable.
  • TWEAK: In \Form\Field\Input create Label object only when the label attribute is not empty.
  • TWEAK: Apply the Form field label only if the attribute is an instance of \Form\Field\Label.
  • TWEAK: Rename object parameters to match the parameter name of the overridden class method.
  • TWEAK: Refactor Field\Term_Select to match Field\Term_Checkbox_Group for consistency.
  • TWEAK: Update \Form\Search\ to include taxonomy term select dropdown fields.
  • TWEAK: Move logic from \cnRetrieve::parseRequest() to \Request::parse() for the cn-cat and cn-cat-slug query variables.
  • BUG: Ensure label attributes are preserved when applying the field label position.
  • DEV: phpDoc corrections.
  • DEV: phpDoc updates.
  • DEV: Add phpDoc to \Form\Field\Checkbox_Group.

10.4.64 02/19/2024

  • NEW: Introduce Fields\Select_Term.
  • NEW: Introduce \Form\Field\Select::getOptions() and \Form\Field\Select::hasOptions.
  • TWEAK: Remove BOM when importing a Category CSV file.
  • TWEAK: Change the variable $file initial value from null to an empty string.
  • TWEAK: Increase the number of lines of the CSV file that is utilized to automatically determine the CSV enclosure character.
  • TWEAK: Do not render form header and footer sections if they do not contain any content.
  • TWEAK: Remove unused import from \Form\Field\Select.
  • TWEAK: Remove unnecessary \Form\Field\Select::walkOptions().
  • TWEAK: Add the $filter_by_item default string when registering a taxonomy.
  • TWEAK: Field\Select extend Input instead of Field.
  • TWEAK: Replace legacy cnTemplatePart::walker('term-select') with modern Field\Select_Term.
  • TWEAK: Move the loading of the term walkers to the autoloader and files into the Walker folder.
  • OTHER: Correct misspellings.
  • DEV: phpDoc corrections.
  • DEV: Add return type declaration to \Form\Field\Select::getFieldHTML().
  • DEV: Add phpDoc to \Form\Field\Select.
  • DEV: Rename variable.

10.4.63 02/06/2024

  • FEATURE: Introduce core uninstall.
  • TWEAK: Register the setting section and field for the “Uninstall” setting option. Trigger a browser prompt form confirmation.
  • TWEAK: Make initOptions() public.
  • TWEAK: Remove manual loading of the cnRole class as it is already included in the autoloader classmap.
  • TWEAK: Move the Connections_Directory() global function from the Connections_Directory class to the base plugin file.
  • TWEAK: Move the Activate/Deactivate hooks to their own class/file.
  • TWEAK: Refactor uninstall.php to delete the plugin data, options, and tables if the option is enabled in the settings.
  • BUG: Prevent date from being displayed twice in the Recently Added/Modified Dashboard admin widgets.
  • OTHER: Correct misspellings.
  • OTHER: Add missing trailing period.
  • DEV: phpDoc corrections.
  • DEV: phpDoc updates.

10.4.62 01/29/2024

  • FEATURE: Introduce the Settings Reset tool.
  • FEATURE: WP-CLI: Introduce settings <command>.
  • TWEAK: Ensure Dashboard Awaiting Moderation, Recently Added, and Recently Modified widgets use the site options for the date and time format.
  • TWEAK: Make cnSettingsAPI::getAll() public.
  • TWEAK: Reset the confirmation text field in the Database Reset tool after both error and success.
  • TWEAK: Reset cnEntry_HTML::getCategoryBlock() to its default parameters after each entry render.
  • DEV: phpDoc corrections.
  • DEV: phpDoc updates.
  • ESLint: corrections.
  • WP-CLI: Add success messages to the tables commands.

10.4.61 01/19/2024

  • FEATURE: Introduce the WP-CLI commands core version and tables <command>.
  • FEATURE: Introduce the Database Reset Tool.
  • NEW: Introduce \Request::isCLI().
  • TWEAK: Replace deprecated cnShortcode::addFilterRegistry() calls with \Template\Hook_Transient::add().
  • TWEAK: Use instance of Term in \cnTemplatePart::categoryBreadcrumb().
  • TWEAK: Route to the PHP error log, developer deprecated notices when running WP-CLI commands.
  • TWEAK: Add JSDoc for global variable to enable code completion.
  • BUG: Remove empty strings from the page title pieces to prevent leading/trailing page title separators from displaying.
  • OTHER: Correct misspellings.
  • DEV: phpDoc corrections.
  • DEV: Add comment to phpcs.xml.
  • WPCS: Inline comments must end in full-stops, exclamation marks, or question marks.
  • WPCS: Spaces must be used for mid-line alignment; tabs are not allowed.
  • WPCS: Disable PEAR.NamingConventions.ValidClassName.StartWithCapital and WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedClassFound.
  • WPCS: Ignore WPCS flags in Utility\_deprecated.

10.4.60 12/22/2023

  • NEW: Introduce CN_Walker_Term_Select_List_Enhanced::generateSelectAllOption().
  • NEW: Introduce CN_Walker_Term_Select_List_Enhanced::generateSelectNoneOption().
  • TWEAK: Adjust Rank Math robots meta, set noindex on term pages.
  • TWEAK: Utilize the wpseo_robots_array filter to improve Yoast SEO integration by setting noindex on the pg and term slug pages.
  • TWEAK: Use strict comparison.
  • TWEAK: Refactor CN_Walker_Term_Select_List_Enhanced::render() to utilize generateSelectAllOption().
  • TWEAK: Refactor CN_Walker_Term_Select_List_Enhanced::render() to utilize generateSelectNoneOption().
  • TWEAK: Simplify string concatenation.
  • TWEAK: Update max tested WP version.
  • OTHER: Correct misspelling.
  • DEV: Remove unnecessary trailing semi-colon.
  • DEV: Remove @noinspection tag.
  • DEV: phpDoc updates.
  • DEV: phpDoc corrections.
  • DEV: Remove WPCS exclusions.
  • DEV: Remove commented out unused code.
  • WPCS: Use the DIR constant instead of calling dirname(FILE) (PHP >= 5.3).
  • WPCS: Update properties for Universal.WhiteSpace.PrecisionAlignment.
  • WPCS: Universal.WhiteSpace.CommaSpacing.TooMuchSpaceAfter.
  • WPCS: Universal.WhiteSpace.CommaSpacing.SpaceBefore.
  • WPCS: Generic.WhiteSpace.IncrementDecrementSpacing.SpaceAfterDecrement.
  • WPCS: Squiz.Commenting.FunctionComment.ParamCommentFullStop.
  • WPCS: Generic.WhiteSpace.LanguageConstructSpacing.IncorrectSingle and Squiz.Strings.ConcatenationSpacing.PaddingFound.
  • WPCS: Generic.WhiteSpace.IncrementDecrementSpacing.SpaceAfterIncrement.
  • WPCS: Universal.CodeAnalysis.StaticInFinalClass.NewInstance.
  • WPCS: Unnecessary “echo sprintf(…)” found. Use “printf(…)” instead.
  • WPCS: The DEFAULT body must start on the line following the statement.
  • WPCS: Universal.WhiteSpace.CommaSpacing.SpaceBefore.
  • WPCS: Expected 1 space before the array closer in a single line array.
  • WPCS: Expected 1 space after FUNCTION keyword; 0 found.
  • WPCS: Function closing brace must go on the next line following the body; found 1 blank lines before brace.
  • WPCS: Expected 1 blank line at end of file.
  • WPCS: The closing brace for the class must go on the next line after the body.
  • WPCS: Universal.WhiteSpace.CommaSpacing.SpaceBefore.
  • WPCS: Use “self” instead of “static” when using late static binding in a final OO construct.
  • WPCS: Opening statement of multi-line function call not indented correctly.
  • WPCS: The file-level docblock must follow the opening PHP tag in the file header.

10.4.59 12/01/2023

  • NEW: Introduce Request::isSingle().
  • TWEAK: Replace cnEntry_Action with \Hook\Action\Admin_Bar::addEditEntry().
  • TWEAK: Refactor \Form\Field\Option to support the class and style attributes.
  • TWEAK: Refactor CN_Walker_Term_Select_List_Enhanced::do_el() to utilize \Form\Field\Option.
  • TWEAK: Refactor CN_Walker_Term_Select_List_Enhanced to ensure inherited method parameter names match.
  • TWEAK: Remove unused import.
  • DEV: phpDoc corrections.
  • DEV: phpDoc updates.
  • WPCS: Add method return type.
  • WPCS: It is recommended not to use reserved keyword “default” as function parameter name. Found: $default.
  • WPCS: Add missing parameter type declaration.
  • WPCS: Exclude a few WP VOP Go sniffs.
  • WPCS: Inline comments must end in full-stops, exclamation marks, or question marks.

10.4.58 11/27/2023

  • TWEAK: Delete extra trailing period from inline code comment.
  • OTHER: Correct misspellings.
  • OTHER: Update the dist files.
  • WPCS: A single space must follow the function keyword.
  • WPCS: Update phpcs ignore.
  • WPCS: Spaces must be used for mid-line alignment; tabs are not allowed.
  • DEV: Update WPCS to version 3.0.
  • DEV: npm audit fix.
  • DEV: Update webpack.
  • DEV: Add the custom role capability properties to phpcs.xml.
  • DEV: phpDoc corrections.

10.4.57 11/17/2023

  • NEW: Introduce CN_Walker_Term_Select_List_Enhanced::generatePlaceholder().
  • TWEAK: Ensure the \Simple_History\Simple_History class exists before adding the Simple History logger registration hook to prevent possible fatal errors when older version of Simple History are installed.
  • TWEAK: Ensure the core WP default filters exists for WP User authentication during the REST API request.
  • TWEAK: Simply direct access exit.
  • TWEAK: Refactor \Form\Field\Option::prepareAttributes() to process custom attributes.
  • TWEAK: Refactor CN_Walker_Term_Select_List_Enhanced::render() to utilize generatePlaceholder().

10.4.56 11/10/2023

  • BUG: Correct parameter used when defining the “remember me” checkbox in the login form.
  • BUG: Prevent fatal PHP error if wp_signon() returns and instance of WP_Error instead of an instance of WP_User.

10.4.55 10/26/2023

  • NEW: Introduce Shortcode abstract class to reduce code duplication when registering shortcodes with WordPress.
  • TWEAK: Replace instances of strip_tags() with wp_strip_all_tags().
  • TWEAK: Add an is_string() check to _string::stripTags() to help ensure no PHP deprecation notices are thrown.
  • TWEAK: Utilize _string::stripTags() instead of strip_tags() to help ensure no PHP deprecations notices.
  • TWEAK: Remove unused commented out code referencing a method long removed in cnRetrieve.
  • TWEAK: Remove use of deprecated cnShortcode::addFilterRegistry() calls in Shortcode\Entry.
  • TWEAK: Refactor Shortcode\Entry to utilize Shortcode to reduce code duplication.
  • BUG: Do not overwrite the category shortcode value if the cn-cat request variable is empty.
  • DEV: phpDoc corrections.

10.4.54 10/20/2023

  • BUG: Use Request::setVar() to reset the pagination value when the offset count is greater than the total row count to prevent a potential query loop and PHP fatal error.

10.4.53 10/16/2023

  • FEATURE: Add integration and support for the Simple History plugin.
  • TWEAK: Pass the $args parameter to the cn_edit_terms filter.
  • TWEAK: Pass the $args parameter to the cn_edit_terms filter.
  • BUG: Merge provided taxonomy labels with the default labels.
  • OTHER: Correct misspellings.

10.4.52 09/29/2023

  • TWEAK: Add webp as a valid image type when validating image uploads.
  • BUG: Revert specificity CSS for icons to be more targeted to the Connections Brandicons (Icomoon).

10.4.51 09/28/2023

  • TWEAK: Update Twitter to reflect the brand change to 𝕏. Add Google Scholar, ORCiD, ResearchGate, and 𝕏.
  • TWEAK: Allow the Number metabox field type to be registered for the keyword search field.
  • TWEAK: Apply CSS Lint style fixes.
  • BUG: Ensure the number metabox field value is properly sanitized.
  • DEV: Update the dist assets.

10.4.50 09/08/2023

  • NEW: Introduce the number field type in the Metabox API.
  • NEW: Introduce Request\Input::setDefault().
  • NEW: Introduce User_Login::maybeRedirect().
  • TWEAK: Ensure both the username and user email request values are sanitized before user.
  • TWEAK: Move the permission check to the permission_callback for the account/login REST API endpoint.
  • TWEAK: Ensure the remember parameter for the login form is properly coerced into a boolean.
  • TWEAK: Remove unnecessary user login check before user sign on.
  • TWEAK: Refactor the account/login endpoint to support the login_redirect filter.
  • TWEAK: Rename the redirect property to redirect_to in the account REST API route to match the core WordPress naming convention.
  • TWEAK: Remove use of Request\Redirect in the Account REST API and utilize the request redirect_to property.
  • TWEAK: If the URL passed into From/setRedirect() fails validation set the redirect property to an empty string.
  • TWEAK: Refactor the default redirect_to value to match WordPress core in the REST API Account\Login endpoint.
  • TWEAK: Change the priority of the parse_request from 10 to 11 to stop Event Espresso from breaking the ability to parse the request variables.
  • BUG: Correct the default address name return value.
  • DEV: Update dist files.

10.4.49 08/25/2023

  • NEW: Introduce the Email field to the Fields API.
  • NEW: Introduce Request\Redirect.
  • NEW: Introduce the account\register REST API endpoint.
  • NEW: Introduce the Register User form.
  • TWEAK: Rename the callback for the account/login endpoint to userLogin for consistency in naming.
  • TWEAK: Move the confirmation message for the Request Reset Password form to the JSON response of the account/request-reset-password endpoint.
  • TWEAK: Refactoring of the client-side JS form processing to allow confirmation messages to be passed via the REST API response.
  • TWEAK: Refactor the core form submit event listener use of apiFetch, disabling the default parsing of API responses and use a private parse callback instead to ensure consistent request responses.
  • BUG: Initialize the correct form in the account/login REST endpoint for validation.
  • OTHER: Correct misspelling.
  • DEV: phpDoc corrections.
  • DEV: Inline comments must end in full-stops, exclamation marks, or question marks.
  • DEV: Parameter comment must end with a full stop.
  • DEV: Remove unnecessary inline var phpDoc comment.
  • DEV: Remove unnecessary import.
  • DEV: Update the dist files.

10.4.48 08/10/2023

  • NEW: Bump tested to WordPress version 6.3.
  • NEW: Introduce the account/reset-password REST API endpoint.
  • TWEAK: Refactor the toggle weak password confirm to use a boolean vs using the weak password score when determining whether to display or not.
  • TWEAK: Add the default value and the field validation schema to the weak password confirmation.
  • TWEAK: Remove the login hidden field from the reset password form.
  • TWEAK: Set password reset key cookie after rendering the reset password form.
  • OTHER: Add punctuation to sentences.

10.4.47 08/04/2023

  • NEW: Add support for the “Remember Me” checkbox in the login form.
  • NEW: Introduce the account/request-reset-password REST API endpoint.
  • NEW: Introduce the Account Request Reset Password form.
  • NEW: Introduce Form::getHeader() and Form::getFooter() so the sections of the form be overridden.
  • NEW: Introduce the Reset Password form.
  • TWEAK: Add support for implicit/after and implicit/before when defining field label positioning.
  • TWEAK: Minor CSS tweaks, adding gaps between fields and a space between a checkbox field and its label.
  • TWEAK: Set form description in the constructor.
  • TWEAK: Removed unused class property.
  • TWEAK: Add default styling for form confirmation and error messages.
  • TWEAK: Refactor the Form API JavaScript to support multiple forms on a page when attaching event listeners.
  • TWEAK: Remove unused message property from the base Form object.
  • TWEAK: Set the default value of the header and footer properties to be an empty string in the Form object.
  • TWEAK: Refactor Form::getShortname() to not use a static variable as each new form instance must return the current instance class shortname.
  • TWEAK: Add output buffering to the Form object actions.
  • TWEAK: Add action before and after rendering a form field in the Form object.
  • TWEAK: Add a space between a checkbox field and its label.
  • TWEAK: Add current user can check before registering an admin message.
  • TWEAK: Change filter name from Connections_Directory/Form/{Form_Name}/Render/Field/Before to Connections_Directory/Form/{Form_Name}/Field.
  • OTHER: Correct misspellings.
  • DEV: Remove @todo.
  • DEV: phpDoc corrections.
  • DEV: Update .eslintrc.
  • DEV: Update the dist files.

10.4.46 07/07/2023

  • NEW: Introduce the Password form field.
  • NEW: Introduce the Button form element.
  • NEW: Introduce the Schema trait for form fields.
  • NEW: Introduce Label::setLabelPosition().
  • NEW: Introduce Attributes::addAttributes().
  • NEW: Introduce Label::getText().
  • NEW: Introduce Form base class.
  • NEW: Introduce the Entry Moderate REST API Route.
  • NEW: Introduce the User Account REST API route with the login endpoint and a login form utilizing the Form/Fields API for form generation and field schema validation during the REST request.
  • NEW: Introduce _::getClassShortName().
  • NEW: Introduce _::callstack().
  • TWEAK: Remove unnecessary direct access check.
  • TWEAK: Remove deprecated use of cnArray.
  • TWEAK: Qualifier can be replaced with an import.
  • TWEAK: Remove error log function call. Should not be in production code.
  • TWEAK: Rename class CN_REST_Autocomplete_Controller to Connections_Directory\API\REST\Endpoint\Autocomplete.
  • TWEAK: Rename file to Autocomplete.php.
  • TWEAK: Move REST API related files into the API/REST folder and update the namespace to match.
  • TWEAK: Update hook names to match namespace.
  • TWEAK: Capitalize the api folder name.
  • TWEAK: Remove unused api property from Connections_Directory.
  • TWEAK: Change the $label property in the Label trait to public, so the methods for the Field_Label form field are accessible.
  • TWEAK: Add return type declaration to Label::getLabelHTML().
  • TWEAK: Add declare strict types to Label.
  • TWEAK: Add declare strict types to Field.
  • TWEAK: Add declare strict types to Input.
  • TWEAK: Add declare strict types to Attributes.
  • TWEAK: Add declare strict types to Label.
  • TWEAK: Add declare strict types to Select.
  • TWEAK: Add declare strict types to Text.
  • TWEAK: Add declare strict types to Autocomplete.
  • TWEAK: Add the Schema trait to the Input form field.
  • TWEAK: Remove the AutoComplete attribute from the Select form field.
  • TWEAK: Add the Autocomplete attribute to the Text form field.
  • TWEAK: Add constructor to the Text form field.
  • TWEAK: Refactor the Input form field to initiate its properties using the constructor instead fgo the create method.
  • TWEAK: Refactor Field constructor and create method to require the properties parameter.
  • TWEAK: Remove unused variable.
  • DEV: phpDoc updates.
  • DEV: Inline comments must end in full-stops, exclamation marks, or question marks.
  • DEV: Removed unused commented out code.
  • DEV: Add function return type.
  • DEV: Add parameter type declaration.
  • DEV: Remove unused import.
  • DEV: Add dev @todo.
  • DEV: Add commented out code required for testing CSV exports.
  • DEV: Array alignment.