WooClientZone is fully integrated with WooCommerce to provide communication areas (Client Zones) where the client and the merchant can exchange files and rich-text messages.

Who is it for

WooClientZone is designed for businesses that require a strong interaction between the client and the merchant. This could be needed to facilitate placement of orders, such as when offering guidance before a purchase is made, or could be an integral part of the business, as in the case of companies providing consultancy work and/or services. These businesses would typically sell a virtual product, provided in the form of an exchange of information (messages and/or files) that could happen directly within an order-linked Client Zone.

More generally, all activities where interaction with the client (before or after an order is placed, or both before and after) is part of the business model, from providers of legal or medical advice, to those creating custom graphics (from t-shirts to company logos) can greatly benefit from our WordPress plugin.

Client Zones

Client Zones are designed as chat-like communication areas, and mimic the look and feel of applications such as Whatsapp, which nowadays are a generally familiar environment. Client Zones are fully responsive, and look right on any device, from desktop to tablets and smartphones. They are also reactive, so clients can see a new message, or a posted file, pop up as they interact with the merchant (and vice versa).

Messages are written on the WordPress TinyMCE editor, thus allowing text to be easily formatted (to include links, for example). Files are uploaded by simple drag & drop (falling back to standard html upload when drag & drop is not available), and multiple file uploads are supported by default.

Client Zones may be associated to the customer before an order is placed, and/or they may be linked to individual orders.

The customer is then able to navigate though the Client Zones linked to their various orders (if order-linked Client Zones are enabled from the back end).

You may even specify that only orders containing specific products trigger the creation of a Client Zone. In fact, the plugin can be configured to automatically ensure that any conversation (files and messages) occurred before an order is placed will follow that order, once that is placed by the client.


The client may receive notifications of new communications via email, which are sent by the merchant from within the relevant Client Zone in the admin site. Emails are configured in the back end, but can be changed right before sending them from each Client Zone, and are sent in html format.

Within the My Account area of WooCommerce, clients can access all their Client Zones, and immediately see if new unseen communications are present.

Similarly, merchants are notified of any new unseen communication (messages and/or files unseen by either party) directly from the admin Dashboard, where WooClientZone defines its own widget. This is specifically designed for this purpose, and offers a direct link to any Client Zone containing unseen communications.

Flat files under the hood

Client Zones are built entirely in a flat-file architecture. This means that the WordPress database never gets bloated with data. Also, administrators can very easily manage Client Zone areas. For example, by zipping a Client Zone folder, the communications are immediately archived, or files can be deleted manually from the server if needed.

Because WooClientZone does not use shortcodes to achieve its functionality, uninstalling it will keep the WordPress installation clean of any unused text codes. Client Zones folders are not deleted when uninstalling the plugin, but due to their flat-file nature their existence won’t affect database performance, and they can be archived/removed by the system administrator when and if needed.


WooClientZone is built with extensibility in mind. The plugin’s codebase is commented to WordPress Documentation Standards.

A number of filter and action hooks are available for extension developers to add functionality through plugins and themes, so any modification or extension is easily achieved. Detailed information can be found in the Hooks section of the online documentation.


WooClientZone is programmed using the Plugin API and the recommended Coding Standards. It uses nonces throughout the code to secure internal links from unauthorised access.

From the plugin’s configuration page it is possible to limit file uploads to specific extensions or mime types, as well as to a maximum size. File type and size limits can be set differently for the public (client-facing) and the admin (merchant-facing) sides, and all limits are enforced both client-side (javascript on the browser) as well as server side. The merchant may disable submission of messages and/or file uploads at a global level, or individually on each Client Zone.

Each File is stored with a prefix containing a timestamp as well as a random code, to make it as difficult as possible to guess a link to it from outside the application.

WooClientZone performs its logging within the WooCommerce logging system, and the administrator can set a minimum level of severity for the messages to be automatically logged. This avoids bloating the log file if the administrator is only interested in warning- to emergency-level messages, for example. WooClientZone uses the new logging class in forthcoming WooCommerce 3.x, but falls back to using the previous one if working alongside an earlier version.

Fully integrated with WooCommerce

WooClientZone can be extensively customised from within its configuration page, which is integrated in the WooCommerce settings tabs. Client Zones can be configured to present message bubbles of different colours, in different positions, and even the upload progress bar colour can be specified without the need to modify any CSS file.

Client Zones are accessible from a number of WooCommerce standards pages, such as the order list and order edit pages in the front end, as well as from a number of pages in the back end.

Notice that WooClientZone requires customers to be logged in, so WooCommerce should ideally be configured to enable registration on the “My Account” page (unless you are only enabling Client Zones for after-purchase communications). The plugin will alert the administrator upon activation if this is required in any particular case. In general, however, Client Zones are only displayed to registered customers.

The following screenshots include comments to illustrate the functionality of the WooClientZone plugin, highlighting its integration with WooCommerce.