---
title: WordPress Plugin
description: Install the Verifycate plugin and issue certificates from WordPress LMS completions
group: Guides
---

# WordPress Plugin

# WordPress Plugin

The Verifycate plugin for WordPress issues certificates when a learner completes
a course, lesson, quiz or custom hook. It works with LearnDash, Tutor LMS,
LearnPress, LifterLMS and Sensei, and exposes a custom hook for other plugins.

Full integration page:
[verifycate.dev/integrations/wordpress](https://verifycate.dev/integrations/wordpress)

Source code:
[github.com/verifycate/wp-plugin](https://github.com/verifycate/wp-plugin)

## Requirements

- WordPress 6.2 or newer.
- PHP 7.4 or newer.
- A Verifycate workspace with an API key that has `certificates:read` and
  `certificates:write`.

## Install

1. In WordPress, open **Plugins → Add New**.
2. Search for **Verifycate**.
3. Choose **Install Now**, then **Activate**.
4. If your host blocks directory installs, upload the release zip from
   [wordpress.org/plugins/verifycate](https://wordpress.org/plugins/verifycate/).

## Connect

1. In Verifycate, open **Workspace → API Keys** and create a key with
   `certificates:read` and `certificates:write`.
2. In WordPress, open **Verifycate → Get started**.
3. Paste the key and run the connection test.
4. The plugin resolves the workspace and lists the active LMS.

The key identifies the workspace. There is no workspace slug to enter.

## Map a completion

1. Open **Verifycate → Mappings**.
2. Choose the LMS and the trigger: course, lesson or quiz completion.
3. Select the published certificate to issue.
4. Save the mapping and complete a test lesson or quiz.

A learner who completes the mapped item is added to the certificate and receives
the delivery email configured in Verifycate. Re-completing the same item does
not create a second issue.

## Supported LMS

| LMS        | Completion sources                   |
| ---------- | ------------------------------------ |
| LearnDash  | Course, lesson, topic, quiz          |
| Tutor LMS  | Course, lesson, quiz                 |
| LearnPress | Course, lesson, quiz                 |
| LifterLMS  | Course, lesson, quiz                 |
| Sensei     | Course, lesson, quiz                 |
| Custom     | `verifycate_course_completed` action |

For a custom LMS, fire `do_action( 'verifycate_course_completed', $user_id, $course_id )`.
An optional third argument sets the event name and a fourth passes extra
attributes. See the plugin readme for the exact signature.

## Troubleshooting

| Symptom                                | Check                                                                                                                |
| -------------------------------------- | -------------------------------------------------------------------------------------------------------------------- |
| Connection test fails                  | The key may be revoked or missing `certificates:read` and `certificates:write`.                                      |
| No certificate after completion        | The mapping may be disabled, the certificate may be a draft, or the LMS trigger may not fire for that activity type. |
| Learner receives the wrong certificate | Check the mapping's certificate and the completion source; re-run with a test learner.                               |
| Plugin cannot reach Verifycate         | Confirm the site can make outbound HTTPS requests and that no security plugin blocks the API host.                   |

## Related

- [WordPress integration page](https://verifycate.dev/integrations/wordpress)
- [Plugin source on GitHub](https://github.com/verifycate/wp-plugin)
- [Plugin releases](https://github.com/verifycate/wp-plugin/releases)
- [API authentication](/docs/api/authentication)
- [Webhooks overview](/docs/api/webhooks/overview)
