Connections Business Directory

Description

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…

Features

  • 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…
  • 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.
  • Highly rated support.
  • Continuously updated bringing you new features for free.
  • 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, IM, 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.
  • SEO. Every entry in your business directory outputs following the hCard spec. Soon to be updated to following Schema.org.
  • 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.

Extensible

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

Utility

  • 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

Misc

  • 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 spam bots.
  • 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:

Languages

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]

Credits:

Screenshots

Blocks

This plugin provides 4 blocks.

  • Carousel
  • Directory
  • Upcoming
  • Team

FAQ

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 thru 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: >= 4.4
  • PHP version: >= 5.2.4 ( >= 7.0 is highly recommended)
  • NOTE: Upgrading from version 0.6.1 and newer only, is supported. Previous version must upgrade to 0.6.1 before upgrading to the current version.

Reviews

December 31, 2020
I am thoroughly impressed with the Connections Business Directory and the Support being it. Steven Zahm is extremely helpful and flexible in his approach to ensure you are able install and customize this plugin with ease. In addition, there are a plethora of plug-in upgrade installs available to create a visually appealing directory to your liking. The few technical issues I encountered were quickly resolved and the follow-up to ensure my inquiry was resolved was timely. I am confident in recommending Steven Zahm and this plug-in to any organization looking for a quality, installation friendly, responsive and supportive option.
December 11, 2020
I had to quickly shift from another directory tool as it wasn't appearing when I used divi. It was tricky for me to quickly understand all the options and usage for Connections, and I was hesitant knowing there were paid "addons". But with the great reviews I went for it. No regrets. I did have to buy the CSV Import add-on and the tile view theme to get what I wanted, but I was able to then quickly set things up the way I wanted. I will share that the documentation could use some cleaning up; it's not easy to sift through and quickly get up to speed. The biggest benefit of the plugin, aside from its scalability and flexibility, & having the addons ... is the licensed support and WOW they were quick. I got the CSS I needed within hours or in one case, minutes - using their support tickets.
November 10, 2020
I have installed Connections-Pro on four different websites. The flexibility is outstanding, especially with the paid add-ons, but the support really makes this program shine. Greg responds personally to support requests and in my experience, usually within a few hours. Don't waste time looking elsewhere. If you need a web-based directory tool, this is it. Bill E.
November 10, 2020
There's no option to allow users to register so...it's kind of useless. What am I missing here? How is this plugin useful if users have to login to create a directory listing but there's no option to register? How do you login without first registering? Do I need a third party registration plugin to make this work? If so that's fine I guess but it could be more clear. Also if I do that, how would I edit the text on the login page so I can add a link to the registration page?
October 26, 2020
On a tight timeline and Connections was the clear tool for the job. When we needed to customizing some of the additional templates, the support was both timely and extremely helpful.
Read all 381 reviews

Contributors & Developers

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

Contributors

“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.

Changelog

Complete Changelog can be found here.

10.1 12/15/2020

  • FEATURE: Support for Yoast SEO sitemaps.
  • FEATURE: Support for Rank Math sitemaps.
  • TWEAK: Change the date format used in the sitemaps from DATE_ATOM to DATE_W3C.
  • TWEAK: Change Provider::getQueryArgs() from protected to public so it can be used in integrations.
  • TWEAK: Add several public methods to Provider so the protect/private properties can be accessed for integrations.
  • TWEAK: The persistent logs should not be public queryable.
  • TWEAK: Only supported custom types should be used when defining a Directory Homepage ID.
  • TWEAK: Use the set_screen_option_connections instead of the set-screen-option filter hook needed for the Screen Options tab settings to be saved appropriately.
  • TWEAK: If only a single instance of Connections is on a page, no need to add the instance ID to he sitemap index links.
  • DEV: phpDoc updates.
  • DEV: Inline code comment.
  • DEV: Remove no inspection tag.

10.0 12/08/2020

  • FEATURE: Support for WordPress sitemaps.
  • TWEAK: Ensure the persistent log posts do not display in the WP sitemaps if the site is in debug mode.
  • TWEAK: Use rawurlencode() when encoding the permalink for department, organization, district, county, locality, region, and country.
  • BUG: Correct find shortcode logic.
  • OTHER: Update readme.txt to make mention of the support of the native sitemaps support introduced in WordPress 5.5.

9.17 11/24/2020

  • TWEAK: Remove use of deprecated methods cnSanitize::htmlClass() and cnFunction::escAttributeDeep()` in the term list class.
  • TWEAK: Remove use of deprecated method cnValidate::userPermitted().
  • TWEAK: Remove use of deprecated methods cnSanitize::htmlClass() and cnFunction::escAttributeDeep()` in the term list class.
  • TWEAK: Do not apply the wpseo_title filter in the admin.
  • TWEAK: Comment out code legacy Yoast SEO compatibility code.
  • TWEAK: Do not apply array_filter() to shortcode $atts when viewing the single Entry detail/profile page.
  • TWEAK: Apply clear float fix to the form.
  • TWEAK: Use the get_cananical_url filter instead of the page_link filter to set the canonical page URL.
  • TWEAK: Relation separator should be within a span tag.
  • TWEAK: Add a few filters which should be reset between shortcode instances.
  • TWEAK: Use self when referencing method.
  • TWEAK: Add random support to the [cn-entry] shortcode.
  • TWEAK: Ensure the force_home option for the [cn-entry] shortcode is a boolean.
  • OTHER: Update readme.txt support link.
  • OTHER: Update fontawesome from 5.13.0 to 5.15.1.
  • DEV: Correct code formatting.
  • DEV: Update package.json dependencies.
  • DEV: Update webpack.config.js.
  • DEV: Update dist files.

9.16 11/06/2020

  • TWEAK: Add filter to the [cn-content] shortcode to support the Page Builder plugin by SiteOrigin.
  • OTHER: Remove the legacy social network icons to reduce plugin package size.
  • DEV: Code alignment.
  • DEV: Correct the replacement method for a deprecated method debug message.
  • DEV: Remove use of deprecated method cnValidate::userPermitted().
  • DEV: Remove use of deprecated method cnCountry::getCode().
  • DEV: Remove use of deprecated method cnOptions::getDateOptions().
  • DEV: Remove use of deprecated method cnFormatting::toCamelCase().
  • DEV: Remove use of deprecated method cnFunction::isDimensionalArray().
  • DEV: Remove use of deprecated method cnEntry::getFullFirstLastName().
  • DEV: Remove use of deprecated methods cnSanitize::htmlClass() and cnFunction::escAttributeDeep()` in the term list class.
  • DEV: Remove use of deprecated method cnUser::getFilterPage().
  • DEV: Remove use of deprecated method cnUtility::getUUID().
  • DEV: Remove use of deprecated method cnFormatting::maybeJSONencode().
  • DEV: Remove use of deprecated method cnFormatting::maybeJSONdecode().
  • DEV: Remove use of deprecated method cnUtility::toNumericHash().
  • DEV: Remove use of deprecated method in cnRetrieve.

9.15 10/30/2020

  • TWEAK: Pass additional parameters to the Connections_Directory/Shortcode/Conditional_Content/is_condition/{$this->atts['condition']} filter.
  • DEV: Change class variable from private to protected.
  • DEV: Add deprecated notices throughout so usages can be removed and old code cleaned up.

9.14 10/22/2020

  • NEW: Introduce the [cn-content] shortcode.
  • TWEAK: Rename “Custom Fields” metablock and Content Block to “Custom Metadata Fields” to help reduce confusion between “Custom Fields” and “custom fields”.
  • TWEAK: Rename the “Entry Meta” Content Block to “Entry Metadata” for uniformity.
  • TWEAK: Minor tweak to ensure the section head di is not rendered if both the current character and repeat character index are disabled.
  • TWEAK: Add version check for Yoast SEO. Minimum supported version is 14.0.
  • TWEAK: Minor tweaks to the [cn-entry] shortcode initialization.
  • OTHER: CSS tweak, change double-quote to single-quote to match style.
  • DEV: Add phpDoc to filter.
  • DEV: Remove use of a couple deprecated methods.
  • DEV: Update dist files.

9.13 10/06/2020

  • NEW: Introduce Rank Math integration.
  • NEW: Introduce cnSEO::getImageMeta().
  • TWEAK: If both the Entry excerpt and bio are empty, fallback to the Entry address for the Entry meta description.
  • TWEAK: Add additional check to see if Yoast SEO is active or not before setting up integration.
  • TWEAK: Set Yoast SEO integration to run at priority 15, after Yoast SEO sets itself up.
  • TWEAK: Use cnSEO::getImageMeta() within the Yoast SEO integration. Providing common logic which is shared with the other SEO integrations.
  • TWEAK: Use self instead of static.
  • TWEAK: Tweak the fallback meta description to include address (for organization) and title|department|organization (for individuals).
  • BUG: Correct bug in address to string helper where district would output instead on county.
  • OTHER: Deprecate Yoast_SEO::getImageMeta()
  • DEV: phpDoc correction.

9.12 10/01/2020

  • NEW: Improve Yoast SEO integration.
  • NEW: Introduce the Connections_Directory/Content_Block/Content/{$id} action.
  • TWEAK: Change priority of the cnSEO::metaDesc() action callback to 1.
  • TWEAK: Declare cnSEO::metaTitle() as public.
  • TWEAK: Limit meta description to 155 characters.
  • TWEAK: Remove the Content-Length header when downloading vCard to deal with some web hosts which seem to add BOM to downloads corrupting the vCard.
  • DEV: Correct phpDoc and add missing deprecated file call.
  • DEV: phpDoc updates in cnSEO.
  • DEV: Add @todo for Rank Math compatibility.
  • DEV: Lay foundation for the new Conditional Content shortcode.

9.11 09/21/2020

  • NEW: Introduce _string::toKebabCase().
  • NEW: Introduce the Connections_Directory/Content_Block/Entry/Categories/Attributes filter.
  • DEV: Move the color utility class to its own namespaced file.
  • DEV: Move the dateutility class to its own namespaced file.
  • DEV: The _date class should be final.
  • DEV: Move the string utility class to its own namespaced file.
  • DEV: Move the formatting utility class to its own namespaced file.
  • DEV: cnSanitize::currency() should be static.
  • DEV: Remove unnecessary break statement.
  • DEV: Add _deprecated_file() calls to a couple deprecated files.
  • DEV: Add _deprecated_function() to a couple deprecated methods.
  • DEV: phpDoc updates.
  • DEV: Move the siteshot utility class to its own namespaced file.
  • DEV: Remove unused cnFunction::var_dump_error_log() method.
  • DEV: Move the utility functions class to its own namespaced file.
  • DEV: Move the URL utility class to its own namespaced file.
  • DEV: Add _deprecated_function() to the cnValidate::attributesArray() method.
  • DEV: Move the validate utility class to its own file.
  • DEV: Deprecate methods in the cnUtility class nad move code to the _ class to consolidate utility methods under a shortcode classname.
  • DEV: Moved several methods to be in the proper utility class and deprecated the existing methods.
  • DEV: Deprecate and pair on unused methods in cnValidate.

9.10 09/10/2020

  • FEATURE: Introduce the Recently Viewed and Last Viewed Content Blocks.
  • NEW: Introduce the Connections_Directory/Block/Carouse/Query_Parameters filter.
  • NEW: Add the link field to the Entry REST endpoint.
  • NEW: Add support for the exclude parameter in the REST API.
  • NEW: Introduce the Recently Viewed REST API Endpoint.
  • TWEAK: Check for instance of cnAddress before access its properties.
  • TWEAK: Keep core WP Editor from displaying the slider navigation text in the Carousel Block.
  • TWEAK: Rename cn-user.js to frontend.js.
  • TWEAK: Delete the frontend.min.js file as it is not needed since webpack will minify file.
  • TWEAK: Remove unused code in the frontend.js file.
  • TWEAK: Make a single call to cnQuery::getVar() when rendering an Entry on the frontend for improved performance.
  • TWEAK: Remove several unnecessary object buffers when rendering an Entry.
  • TWEAK: Rename Entry render variable to be more descriptive.
  • TWEAK: Move logic on whether to display the character index and section head to within where the Entry is rendered.
  • TWEAK: Remove the cn-list-head div.id attribute.
  • TWEAK: Remove the cn-list-foot div.id attribute.
  • TWEAK: Apply array_unique() and array_filter() to the list head and body container classes.
  • TWEAK: Remove the cn-list-foot div.id attribute.
  • TWEAK: Remove the legacy connections-list class from the body container.
  • TWEAK: Move setting $is_single to outside of the loop. No need to set it on each iteration.
  • TWEAK: Cleanup the applied body classes. The cn-list-row and cn-list-row-alternate is applied only in the list view. Introduce the cn-list-item and cn-is-single classes.
  • TWEAK: Minor CSS tweaks to remove unnecessary specificity.
  • TWEAK: CSS clear after several core list containers. Necessary after removing the class that did the clear from the containers.
  • TWEAK: Do not show the character index when viewing the single Entry.
  • TWEAK: Abstract out template body section heading.
  • TWEAK: Abstract out the generation of the Entry card classes.
  • TWEAK: Ensure the permission_callback parameter is set when registering REST API Endpoints.
  • TWEAK: Add check to prevent index not found notice.
  • TWEAK: Implement limit on the Team Block to ensure page can be saved by WP.
  • TWEAK: Add 'data-skip-lazy="1" if lazy loading is false.
  • TWEAK: Move cnArray to a namespaced class and stub out files and autoloading for other utility classes and functions to consolidate and better organize the codebase.
  • TWEAK: Remove use of a few deprecated React components in the Team and Upcoming blocks.
  • TWEAK: Add lodash as a script dependency for the frontend script bundle.
  • TWEAK: Finally deprecate the cnOutput class because it was ambiguous.
  • TWEAK: Bumped “Tested up to:” to version 5.5 in readme.txt.
  • TWEAK: Bump “Requires at least:” to version 5.0 in readme.txt.
  • TWEAK: Update EntryName component with a asPermalink attribute.
  • TWEAK: Update the frontend script dependencies to support the Recently View Content Block.
  • TWEAK: Add placeholder support to the Entry Image React component.
  • TWEAK: Add default image width/height for unknown image types to prevent undefined index notifications.
  • TWEAK: Deprecate several template actions, replacing them with namespaced hook handles.
  • BUG: Correct another instance of implode “Passing glue string after array is deprecated.” notice.
  • BUG: Correct the style applied to the .cn-image-none class in the related carousels.
  • DEV: Remove extra newline.
  • DEV: Include JavaScript Cookie v2.2.1 as a vendor library.
  • DEV: Configure webpack entry point to create the frontend javascript bundle.
  • DEV: Register and enqueue the frontend javascript bundle with WordPress.
  • DEV: Remove commented code.
  • DEV: Rename variable to camelCase.
  • DEV: Remove comment block from CSS.
  • DEV: phpDoc updates.
  • DEV: Update Travis testing matrix.
  • DEV: Update min/max WP version in requirements check.
  • DEV: Update the dist files.

9.9.1 07/22/2020

  • TWEAK: Set the related Content Block margin to 0 to ensure margins are not inherited from theme, plugins, and such.
  • BUG: Correct usage of the cn_load_template filter.
  • DEV: Update the dist files.

9.9 07/17/2020

  • FEATURE: Introduce the Entries Nearby Content Block.
  • NEW: Introduce cnArray::push() helper method.
  • TWEAK: Make the image not available placeholder responsive friendly while retaining the aspect ratio.
  • TWEAK: Add a few basic styles to the Entry Actions vs relying on theme styling for lists.
  • TWEAK: Add a few basic styles for the Content Block layout for better more consistent presentation.
  • TWEAK: Introduce additional related carousel parameters that can be adjusted via a filter.
  • TWEAK: Add CSS to make the “image not available” placeholder responsive friendly while maintaining aspect ratio.
  • TWEAK: Make a few carousel CSS selectors a bit more specific to help ensure they are not easily overridden.
  • TWEAK: If the Content Block order has not yet been saved, fetch them via cnOptions::getContentBlocks().
  • TWEAK: Flipped the logic when Content Blocks should be included/excluded.
  • TWEAK: Remove the hardcoded limit with querying related Entries. Instead, use the supplied attribute.
  • BUG: Prevent output of empty heading tags in Content Blocks.
  • BUG: The $blocks variable should always be defined.
  • OTHER: Readme.txt tweaks.
  • DEV: Update the dist files.

9.8.2 07/11/2020

  • TWEAK: Remove unnecessary trim of Content Block IDs.
  • TWEAK: Simplify logic for excluding/including Content Blocks.
  • TWEAK: Include/exclude Content Blocks before setting up the block ID to avoid unnecessary processing.
  • TWEAK: Simplify the default parameters for Content Blocks.

9.8.1 07/09/2020

  • BUG: Correct logic for the include parameter for Content Blocks.
  • BUG: Content Blocks need to default to the order of the active blocks and not the order of the active blocks.
  • OTHER: Add link to blog post in changelog.
  • I18N: Update POT file.
  • I18N: Update MO files.

9.8 07/07/2020

  • FEATURE: Add 10 “Related To Entry” Content Blocks.
  • NEW: Add id__not_in parameter to cnRetrieve::entries()
  • NEW: Introduce cnUtility::numHash().
  • NEW: Introduce the cn_entry_query_random_seed filter.
  • NEW: Add Entry helper functions class. Includes the relatedTo() helper method.
  • TWEAK: Pass the entry object in the bio, excerpt and note filter.
  • TWEAK: Content_Block::content() should echo not return string.
  • TWEAK: Correct implode() parameters.
  • TWEAK: Make carousels show one slide and scroll one slide in mobile.
  • TWEAK: Ensure uniform Content Block ID attribute when rendered via action or thru the Content Block API.
  • TWEAK: Set called class short-name property when constructing a Content Block to utilize in dynamic hooks.
  • TWEAK: Update hooks to make them dynamic utilizing the called class short-name.
  • TWEAK: Move the HTML markup from the heading() method in the Content Block to the render() method for uniformity with other class methods. This also allows for easier setting of the heading parameter to allow for dynamic Content Block headings.
  • TWEAK: Update the Static Google Maps Content Block to utilize the Entry helper functions class.
  • OTHER: Correct misspelling.
  • DEV: Add phpDoc.
  • DEV: Update rinvex/countries to version 7.0.1.

9.7.2 06/24/2020

  • BUG: Correct Map Block permissions.
  • DEV: Standardize namespace and move files to correct folders.

9.7.1 06/23/2020

  • TWEAK: Strict comparison checks.
  • TWEAK: Compute the size beforehand, and not on each iteration.
  • TWEAK: Ensure Google Maps API Key is a string before setting the key as class property.
  • TWEAK: Check to ensure connections_options is an array before setting class property.
  • TWEAK: Check to ensure email template is object.
  • OTHER: Remove use of unnecessary variable for return.
  • OTHER: Remove unused variable.
  • OTHER: Correct misspelling.
  • OTHER: Update URL to license.
  • DEV: phpDoc corrections.
  • DEV: Fix code format.
  • DEV: Suppress IDE HTML tag warnings.

9.7 06/19/2020

  • NEW: Introduce the cn_csv_export_suspicious_value_prefix filter.
  • TWEAK: Fix for Team Block which in some scenarios would fail to display in the Block Editor.
  • TWEAK: Adjust the Settings API filters to 20.
  • TWEAK: Refactor the new Content Blocks API to tidy up the code making it more maintainable and extensible.
  • TWEAK: Refactor the Entry categories utilizing the Content Block API.
  • TWEAK: Refactor the static map and interactive map to utilize the Content Block API.
  • SECURITY: Add protection against CSV Injection, also known as Formula Injection. thx @rudSarkar for reporting!
  • BUG: Correct bug which could result in PHP error when all social network types are deselected.
  • BUG: For button for database upgrade start.
  • BUG: Correct include/exclude logic when displaying the Content Blocks.
  • OTHER: Correct typo.
  • DEV: Update ForceUTF8 to 2.0.4.
  • DEV: Add @todo.
  • DEV: Update dist files.
  • DEV: phpDoc update.

9.6 05/20/2020

  • NEW: Introduce cnEntry::getDeletePermalink() and cnOutput::deletePermalink().
  • NEW: Add delete to supported permalink types in cnURL::permalink().
  • NEW: Introduce the Content Blocks API.
  • NEW: Introduce the Custom Fields, Entry Meta and Entry Management Content Blocks.
  • TWEAK: Correct implode() parameter usage for PHP 7.4 so it does not generate a warning.
  • TWEAK: Check for array key to prevent PHP warning.
  • TWEAK: Use is_file() instead of file_exists() to test if image exists.
  • TWEAK: Set font-style of brand icons to normal to help prevent theme’s from making them bold and/or italic.
  • TWEAK: Further improve the REST API by better defining the schema, support the _fields parameter to reduce response size while improving response time and adding support for the DELETE request to delete an Entry.
  • TWEAK: Improve the Carousel block by querying the REST for only the required fields.
  • TWEAK: Refactor cnOutput::getContentBlock() to utilize the Content Block API.
  • TWEAK: Remove the hardcoded “Custom Fields” so it can be refactored using the Content Block API.
  • BUG: Pass expected parameters for the setted_transient and set_transient_{$key} actions.
  • BUG: Define variable before use.
  • OTHER: Correct typo.
  • OTHER: Correct misspelling.
  • DEV: Update npm and dev dependencies.
  • DEV: phpDoc corrections.

9.5.1 04/28/2020

  • NEW: Introduce the getEditPermalink() and the editPermalink() functions.
  • TWEAK: Add permalink root to attributes in the cn_permalink filter.
  • BUG: Fix instances where “Sorry, you are not allowed to access this page.” error message would display when attempting to edit a category on the Connections Categories admin page.
  • DEV: phpDoc updates.

9.5 04/20/2020

  • NEW: Introduce the [cn-entry] shortcode.
  • TWEAK: Do not render the character section heads if the character index has been disabled.