Code

WooCommerce Support Ticket System

WooCommerce Support Ticket System

Cart 1,002 sales
Recently Updated

The WooCommerce Support Ticket System (WCSTS) seamlessly integrates into your WooCommerce installation adding a system to manage user and order support tickets! In this way, the Shop admin can easily keep track and give support for order and user issues!

LIVE DEMO

https://www.codecanyondemo.work/wcsts/wp-admin
(Shop admin account)
user: demo
pass: demo

(Shop admin account)
user: demo2
pass: demo

(customer account)
user: customer
pass: demo

(customer account)
user: customer2
pass: demo


DOCUMENTATION

How to automatically update the plugin

To receive automatic updates just install and configure the Envato updater plugin: https://goo.gl/pkJS33 .The official guide that explains how to configure it can be found at the following link: https://envato.com/market-plugin .

THE IDEA

WCSTS extends WooCommerce adding a system to manage support tickets. Via WCSTS can be managed three different ticket types:
  1. Order tickets: related to orders issues
  2. User tickets: related to users issues
  3. New Pay Per Ticket: For more details read the related paragraph
Order and User tickets can be submitted by the user directly via frontend pages. Shop admin can manage tickets using the special backend area. Furthermore, the plugin allows email notifications, custom texts, and many other customizations to better personalize the system according to the shop admin’s needs!

Order tickets

Once activated, the plugin seamlessly adds a ticket area in all frontend order details pages (My Account page -> Orders -> select any order). In this special area, the user can submit new tickets request support for that particular order, read the admin replies for the already submitted tickets, and submit new messages.
Optionally the user can also attach one or more files. Once a ticket is submitted, the customer and the admin can optionally receive a notification email (notification system and attachment by default are disabled. Enable them via the Options menu).

The order ticket system can also be completely disabled or it can be disabled only for the desired order statuses. Just go to the plugin Options menu and configure its display settings according to your needs!

Note: Guest customers can access the order ticket via the Thank you page. The new ticket notification emails will generate a link to that page by using the {order_page_url} shortcode.

User tickets

Is automatically displayed on the My Account page in its own tab called Personal Ticket Area (text can be customized via the texts menu) and can optionally be displayed on any frontend page by using the special [wcsts_ticket_area] shortcode. This ticket type works in the same way as an order ticket for the exception that it is associated with a specific user (the user must be logged in to access the ticket area) rather than an order. Once a ticket is submitted, the customer and the admin can optionally receive a notification email (the notification system by default is disabled. It can be enabled via the Options menu). By using the open_new_ticket parameter (Example: [wcsts_ticket_area open_new_ticket=”0”]) you can deny users to open new tickets. The parameter accepts 0 o 1 as values.

NOTE: to customize the login message, just use the following format: [wcsts_ticket_area]Type the message you want to display, html code is accepted[/wcsts_ticket_area]

Pay Per Ticket

The shop manager can now bind to any product (or variant) a number of questions that a user can ask. Once the product is purchased and the order is paid (or marked as completed), the plugin will automatically open a special Pay Per Ticket by which the admin can keep track of the user questions. The product quantity will affect the number of questions that the user will be able to ask. Note: if the order contains at least one Pay per ticket product, the regular order ticket opening will be disabled.

To assign the number of questions to a product, just edit it and in the General tab you will find an input field name Questions number. For variable products, the Question number setting will be editable for each variant via the Variations tab.

Example:
  1. The admin binds 6 questions to Product 1
  2. The user buys 2xProduct 1
  3. Once the order will be paid, The plugin will open a Pay Per Ticket having 12 questions

The number of questions left can be editable by the admin using the ticket edit page.

The user can buy multiple products having questions bound to them. The plugin will open a ticket for each of them

Pay per ticket area is displayed in the front end by using the special [wcsts_pay_per_ticket_area] shortcode in any page supporting shortcodes. The ticket area will be displayed only for registered users, and non-registered users will be displayed a login message. To customize the login message, just use the following format: [wcsts_pay_per_ticket_area]Type the message you want to display, html code is accepted[/wcsts_pay_per_ticket_area]

Note: if an order is deleted or marked as failed, canceled, or refunded, the associated pay-per-ticket will be deleted too. Once a ticket reaches 0 questions left, the user will be automatically marked as closed.
Guest customers can access the order ticket via the Thank you page. The new ticket notification emails will generate a link to that page by using the {order_page_url} shortcode.

Note for WooCommerce Subscriptions users: In the case of a subscription product, every time a renewal occurs, the plugin will reset the pay-per-ticket question number associated with it. The pay-per-ticket will be automatically created according to the order payment status, not the subscription status.

File attachment

Optionally you can enable files attachment for reply messages and tickets. You can set the file size limit and configure which file types are accepted. Furthermore, thanks to the “chunk upload” system, the plugin allows uploading any file size!

Use case: File approval system

The ticket system can be used also as a File approval system. Thanks to the file chunk upload system, your customers will be able to attach any file size to each ticket (you can, however, limit the number of uploadable files, size, and types). You can then reject the upload(s) by simply replying to the ticket (optionally the user will be notified via email) and eventually attaching files to your reply.
Each message will have its own attachments (that can be eventually deleted) to keep track of the attachment history!

Predefined answers

Would you like to define a set of predefined answers that can be later recalled when managing a ticket? You can! Just access the Predefined answers menu and create them! Those answers will be available to all the admins that will be lately answering the ticket!

Rich text and Tiny MCE on Frontend

Optionally you can also enable the Tiny MCE editor for frontend ticket text areas! In this way, your customers will be able to enter rich texts!
To enable this option just go into the plugin options menu and enable the Enable Tiny mce editor for ticket message area on frontend option.

Backend managment

The shop admin via the backend Ticket system management area will be able to keep track of all the submitted tickets. In the ticket list table, the shop admin can at once retrieve the following info:
  1. Type: can be Order or User. It is needed to identify if the ticket is associated with a specific order or to a specific user
  2. Associated User/Order id
  3. Status: It can be Open, In Progress, or Closed
  4. Priority: priorities can be customized using the special menu
  5. New message counter: it helps to better identify if a user replied to a ticket
  6. Subject: ticket subject
  7. Ticekt open date
  8. Ticekt last user reply date
Deleting a ticket, the system will delete all its related meta info including attachments! In this way, your server and your DB will be always clean!

Clicking on a ticket, the Admin can edit its info, read customer personal data, download (and delete) attachments, and reply to the user. On ticket details, the page can be also overridden the notification emails recipient(s)

Assign ticket to specific admin users for better management

Optionally you can assign tickets to specific admins users (that have edit_posts capability) and notify them. You can also optionally filter their ticket list to display only tickets assigned to them. To do that, just go to the options menu and set the Display all tickets to non Administrator users (admin area) according to your needs.
By selecting the “display all tickets” option, the admins will be able to filter the list displaying only the ticket assigned to them (at the top of the ticket list they will find a filter to do that).

NOTE: Administrator users will be able always to see all the tickets.

Custom statuses

Besides the default Open, In progress, and Closed ticket statuses, the shop admin can define his own custom statuses!

Automatic order tickets

WCSTS plugin allows you to create tickets automatically each time the order hits a particular status! In addition, you can set up the first message to automatically include when the ticket is created.

Options & customizations

The plugin allows the shop admin many customizations, such as:
  1. User/Order ticket subject type: The subject can be an open text (with length limit) or a select menu by which the user has to select one of the preselected topics (Use the text menu to configure them)
  2. Messages and subject length limit
  3. Disable order ticket system: disabling the ticket area will no longer be shown on every order details page. The shop admin will be still able to display the User ticket area using the [wcsts_ticket_area] shortcode
  4. Attachments: enable attachments, number of attachable files, size, and types
  5. Email notification system: enable disable user and/or admin notifications
  6. Display ticket status on frontend
  7. Allow users to assign a priority to the just created ticket

Texts Customizations

The shop admin can customize the following texts:
  1. New ticket description: displayed on the new ticket box. It could contain various info, like ticket average processing times
  2. New ticket “successfully submitted” message: This message is displayed after a ticket has been successfully submitted by the user
  3. Notification emails subject and body: All email subjects and messages can be customized. Furthermore can be used special place holder like {subject}, {message}, {ticket_id} to embed dynamic content about the current ticket message.

WPML

The plugin is compatible with WPML. To translate dynamic texts, just go to the Text menu, switch languages using the WPML language selector, and input a text. In the case of preselected topics, Remember to create the translations for each language.

SCREENSHOTS


Order ticket area


User ticket area (My account page tab)


User ticket area (Shortcode)


Display ticket status (optionally)


Admin area




Assing tickets to specific admin users
Filter ticket list displaying only the ones assigned
Option menu
Customize text menu


Notification email
User reply

Admin reply

User new ticket submission confirmation

Pay Per Ticket
Fronted area, use the [wcsts_pay_per_ticket_area] to display.

Admin products edit page

Admin products list page

Admin ticket edit page


CHANGE LOG


= 17.2 - 21.03.24 =
* Internal library update

= 17.1 - 08.12.23 =
* Added option to set order id for Order ticket

= 17.0 - 08.12.23 =
* Improved compability with HPOS

= 16.9 - 13.05.23 =
* Fixed an issue with HPOS

= 16.8 - 20.05.23 =
* Internal libraries update

= 16.7 - 03.04.23 =
* Added a new metabox on the orders page that reports related support tickets

= 16.6 - 08.03.23 =
* Minor UI improvement

= 16.5 - 27.01.23 =
* Added new shortcodes that can be used in the admin notification email bodies

= 16.4 - 14.12.22 =
* Improved automatic ticket management

= 16.3 - 28.11.22 =
* Typo

= 16.2 - 28.11.22 =
* Added new options to customize the "Submit new ticket" area title and the "Subject" label

= 16.1 - 28.11.22 =
* Minor improvement

= 16.0 - 26.11.22 =
* Typo

= 15.9 - 25.11.22 =
* It is now possible to assign to each customer one or more agents. Each ticket opened by that user will be automatically assigned to the associated agent

= 15.8 - 23.11.22 =
* Fixed an issue due to the first message being posted multiple times (automatic tickets only)

= 15.7 - 22.11.22 =
* Automatic ticket: the first message is opened as Admin staff

= 15.6 - 20.10.22 =
* Minor improvement

= 15.5 - 28.09.22 =
* Minor bugfix

= 15.4 - 27.09.22 =
* TinyMCE: removed menu items

= 15.3 - 28.05.22 =
* Fixed an issue related to Order tickets and guest users

= 15.2 - 13.05.22 =
* Added option to restrict new tickets and message posts before the configured time interval

= 15.1 - 22.04.22 =
* Added new shortcodes that can be used for the email body messages

= 15.0 - 21.04.22 =
* Typo

= 14.9 - 09.04.22 =
* Added new "open_new_ticket" for the [wcsts_ticket_area] shortcode that now allows to deny the opening of new tickets

= 14.8 - 30.03.22 =
* Fixed an issue that made the plugin crash after activating

= 14.7 - 30.03.22 =
* Fixed an issue due to PPT was not automatically opened after an order was placed 
* Fixed an issue due to PPT was not displayed on the order page 
* Ticket and message counters are now properly displayed on the orders list page

= 14.6 - 02.03.22 =
* Typo

= 14.5 - 13.02.22 =
* Fixed an issue due to was not possible to set "0" to the minimum message length option

= 14.4 - 09.02.22 =
* Added option to set minimum characters 

= 14.3 - 20.01.22 =
* Added a new option to send a notification when a ticket is automatically opened by the system

= 14.2 - 24.12.21 =
* Minor bugfix

= 14.1 - 14.11.21 =
* Fixed an issue that prevents order URLs to be properly generated

= 14.0 - 13.11.21 =
* Guest guest customers can access order and ppt tickets via the Thank you page
* The {order_page_url} will automatically generate the link to the Thank you page in case of guest orders

= 13.9 - 12.10.21 =
* Minor bugfix

= 13.8 - 11.10.21 =
* Minor update

= 13.7 - 08.10.21 =
* The uploaded file name is now displayed in the frontend ticket area

= 13.6 - 22.09.21 =
* Added new option to position order ticket area

= 13.5 - 18.03.21 =
* Improved security related to the file upload process

= 13.4 - 29.01.21 =
* Fixed an issue due to the email notifications were not properly formatted

= 13.3 - 13.01.21 =
* Fixed an issue with WooCommerce 4.9

= 13.2 - 09.12.20 =
* Minor bugfix

= 13.1 - 16.10.20 =
* Added option to disable user replies until an admin hasn't replied to the ticket

= 13.0 - 14.10.20 =
* For admin-specified topics, is now possible to specify custom recipients

= 12.9 - 17.07.20 =
* Added Dutch language (thanks to kostprijscalculatie.nl)

= 12.8 - 13.07.20 =
* Minor bugfix

= 12.7 - 26.06.20 =
* Libraries updated

= 12.6 - 04.05.20 =
* Fixed an issue due to the email default text was not properly loaded

= 12.5 - 01.05.20 =
* Fixed a UI issue on the frontend ticket area

= 12.4 - 01.05.20 =
* Improved message thread display on the smaller screen

= 12.3 - 09.04.20 =
* Improved message date display function

= 12.2 - 10.03.20 =
* Minor improvement

= 12.1 - 08.03.20 =
* Fixed an issue due to the email sender name option being ignored

= 12.0 - 10.02.20 =
* Improved some SQL queries 

= 11.9 - 27.09.19 =
* Fixed an issue related to the WooCommerce Subscriptions plugin

= 11.8 - 18.09.19 =
* Added a new option to mark order tickets as closed when the order hits the "completed" status

= 11.7 - 29.05.19 =
* Added a new option to disable the "payment detection" process for pay per tickets

= 11.6 - 15.05.19 =
* Internal libraries update

= 11.5 - 24.03.19 =
* Minor bugfix

= 11.4 - 21.03.19 =
* Added option to disable new ticket opening for "user ticket" type

= 11.3 - 16.03.19 =
* Minor bugfix

= 11.2 - 20.01.19 =
* Fixed an issue with new lines and predefined answer

= 11.1 - 19.01.19 =
* Added a new option to disable the "Get help" button on the orders list page

= 11.0 - 17.01.19 =
* Fixed an issue with the ticket table page

= 10.9 - 17.01.19 =
* Minor bugfix

= 10.8 - 16.01.19 =
* Is now possible to use some shortcodes for replies
by
by
by
by
by
by

Tell us what you think!

We'd like to ask you a few questions to help improve CodeCanyon.

Sure, take me to the survey