learndash/manage-certificate-template creates a new Certificate Builder template or updates an existing one.
A background image is required, and the block vocabulary is limited.
At a glance
| Ability | learndash/manage-certificate-template |
| Toolset | LearnDash — toolset/learndash |
| Group | LearnDash › Certificates |
| Requires | AcrossAI Pro, plus LearnDash LMS active on the site |
| Capability | manage_options |
| Safety | Writes data |
| Repeatable | Idempotent — running it twice leaves the same result |
| Ships in | AcrossAI Pro 0.9.16 and later |
The blocks that work
The body accepts core/paragraph, core/heading, core/columns, core/spacer, core/image, core/quote, core/list, core/separator and core/shortcode, plus LearnDash’s own ld-courseinfo, ld-usermeta, ld-groupinfo and ld-quizinfo.
Anything else renders through a shortcode fallback and usually comes out broken. That is the whole constraint: a certificate is rendered to PDF by mPDF, which supports a fraction of what a browser does.
The LearnDash blocks are how a certificate gets the learner’s name, the course title and the completion date onto the page. A certificate built from core blocks alone says the same thing to everybody.
Page setup is page_size (Letter or A4), orientation (L or P), font and container_width. The font must come from learndash/list-certificate-fonts — an unrecognised key falls back silently and the certificate renders in the wrong typeface.
Assign the finished template to a course with learndash/manage-course.
Idempotent.
Input
| Name | Type | Required | What it is |
|---|---|---|---|
action | string | Yes | create or update. |
certificate_id | integer | For update | Which template. |
title | string | For create | The template title. |
background_attachment_id | integer | For create | The background image. Required — without one the template fails at render time. |
content | string | No | The template body, in the supported blocks. |
page_size | string | No | Letter or A4. |
orientation | string | No | L or P. |
font | string | No | A key from learndash/list-certificate-fonts. |
container_width | integer | No | The content container width. |
What comes back
| Name | Type | What it is |
|---|---|---|
template | object | The template after the write. |
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:
Create a certificate template for the course.
It resolves to one call:
{
"ability": "learndash/manage-certificate-template",
"parameters": {
"action": "create",
"title": "Course completion certificate",
"background_attachment_id": 2201,
"page_size": "A4",
"orientation": "L"
}
}Worth knowing
- Rendered to PDF by mPDF, which supports far less than a browser.
- Unsupported blocks fall back to a shortcode and usually break.
- The LearnDash blocks are what personalise the certificate.
- A missing background makes the template fail at render time.
Related abilities
- LearnDash List Certificate Fonts — valid font keys
- LearnDash Manage Course — assign it to a course
- LearnDash Get Certificate Template — check it is usable
Get the plugins:
AcrossAI Abilities Manager · AcrossAI MCP Manager
Browse the rest: Every ability, by category