learndash/list-certificate-templates lists the certificate templates on this site.
Each reports whether it is a Certificate Builder template or a legacy one, and which courses, quizzes or groups use it.
At a glance
| Ability | learndash/list-certificate-templates |
| Toolset | LearnDash — toolset/learndash |
| Group | LearnDash › Certificates |
| Requires | AcrossAI Pro, plus LearnDash LMS active on the site |
| Capability | manage_options |
| Safety | Read-only — changes nothing |
| Repeatable | Idempotent — running it twice leaves the same result |
| Ships in | AcrossAI Pro 0.9.16 and later |
How it works
LearnDash records which kind a template is in a meta flag, and that flag can disagree with reality — a template converted by hand, or migrated, ends up marked one way and containing the other.
So the kind is determined by reading the template’s actual block content rather than trusting the flag. That is slower and it is right.
It matters because the two kinds render through completely different paths. A template treated as the wrong kind produces either an empty certificate or a rendering error, and neither says why.
The usage list is the other half. A template in use by nothing issues no certificates, however carefully it was designed — which is a common state on sites where somebody built a certificate and never assigned it.
Assigning one is learndash/manage-course or the equivalent quiz and group settings.
Input
| Name | Type | Required | What it is |
|---|---|---|---|
per_page | integer | No | Rows per page. |
What comes back
| Name | Type | What it is |
|---|---|---|
templates | array | Each template with its kind, determined from its content, and what uses it. |
success | boolean | Whether the call completed. |
message | string | A one-line summary of what happened, suitable for showing a human. |
error_code | string | Present only on failure — a stable machine-readable reason, such as a missing field, a wrong field type or an unmet confirmation. |
Example
Ask your assistant:
What certificate templates do we have?
It resolves to one call:
{
"ability": "learndash/list-certificate-templates",
"parameters": {}
}Worth knowing
- The kind is read from the content, not the meta flag, because they can disagree.
- The two kinds render through different paths entirely.
- A template used by nothing issues nothing.
- Read-only.
Related abilities
- LearnDash Get Certificate Template — one in detail
- LearnDash Manage Certificate Template — build one
Get the plugins:
AcrossAI Abilities Manager · AcrossAI MCP Manager
Browse the rest: Every ability, by category