🎟 WordPress Plugin · v1.0.0 · GPL v2

WP Support
Ticket System

A full helpdesk inside WordPress. AJAX ticket submission for guests and logged-in users, agent roles, SLA deadlines, Slack webhooks, private notes, and a REST API — no third-party platform required.

Setup Guide

Installation & Activation

The plugin activates in seconds. On first load it creates the replies database table and registers the Support Agent role automatically.

1

Upload Plugin

Go to Plugins → Add New → Upload Plugin, select wp-support-tickets.zip and click Install Now.

2

Activate

Click Activate Plugin. Creates wp_wsts_replies table and registers the Support Agent role.

3

Configure

Go to Support → Settings. Set Agent Email, Slack Webhook URL, and SLA hours per priority.

4

Add Shortcodes

Add [support_ticket_form] to your support page and [my_tickets] to a customer account page.

What's Included

Core Features

Everything you need to run a helpdesk — built entirely on WordPress APIs.

🎫

Custom Post Statuses

Four ticket statuses: Open → In Progress → Resolved → Closed. Each registered with WordPress register_post_status().

SLA Deadlines

Auto-calculated on submission: Critical 2h, High 8h, Normal 24h. Overdue tickets turn red in the admin list.

🔔

Slack Notifications

Rich webhook payloads with priority emoji, subject, customer email, and a direct "View Ticket" button.

🕵

Support Agent Role

Custom WordPress role with manage_tickets, reply_ticket, and close_ticket capabilities.

🔒

Private Notes

Agents can add internal notes visible only to other agents — never shown to the customer.

🏢

Departments

Optional ticket routing taxonomy. Departments appear as a dropdown in the submission form automatically.

Ticket Status Badges

Color-coded status badges shown in the customer portal and admin list.

Open In Progress Resolved Closed
Developer Reference

Shortcodes & REST API

Ticket Submission Form

Renders the support form. Guests see Name + Email fields. Logged-in users use their account details automatically.

[support_ticket_form] [support_ticket_form title="How Can We Help?"]

Customer Ticket History

Shows the logged-in customer's tickets in a table. Non-logged-in users see a login prompt.

[my_tickets]
AttributeDefaultDescription
title"Submit a Support Ticket"Heading shown above the form.

REST API Endpoints

MethodEndpointAuthDescription
GET/wp-support-tickets/v1/ticketsAgentList tickets. Filter by status, per_page.
GET/wp-support-tickets/v1/tickets/{id}Owner/AgentSingle ticket with reply thread.
PATCH/wp-support-tickets/v1/tickets/{id}/statusAgentUpdate ticket status.

SLA Configuration

PriorityDefault SLA HoursConfigure At
Normal24 hoursSupport → Settings → SLA Normal
High8 hoursSupport → Settings → SLA High
Critical2 hoursSupport → Settings → SLA Critical
The Developer

Author Profile

Vetri Suriya

PHP · WordPress · AWS

WordPress developer with a focus on custom plugins, REST APIs, and production-grade Laravel applications. Builds open-source tools that solve real business problems without vendor lock-in.