WP Manifestindependent plugin directory
manifest / events / wordcamp-certificate

WordCamp Certificate Generator

A WordPress Plugin for generating WordCamp Certificates

by Jhimross · github.com/jhimross/wordcamp-certificate · website

1stars
0forks

Install

No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:

wp plugin install https://github.com/jhimross/wordcamp-certificate/archive/refs/heads/main.zip

Readme

WordCamp Certificate Generator

A WordPress plugin that automatically generates a Certificate of Attendance for WordCamp attendees. Attendees simply enter their full name and the email address they used to purchase their WordCamp ticket to instantly receive a beautifully designed, printable certificate.


Screenshots

1. Attendee Enters Their Registration Information

Screenshot 2026-07-03 at 11 40 02 PM

2. Attendee Views Their Certificate

Screenshot 2026-07-03 at 11 40 20 PM

3. Attendee Prints Their Certificate

Screenshot 2026-07-03 at 11 40 42 PM

4. Configuration

Screenshot 2026-07-03 at 11 39 31 PM

5. Issued Certificates List

Screenshot 2026-07-03 at 11 39 46 PM

Features

  • Instant certificate generation — attendees fill in their name and email, click submit, and get their certificate immediately
  • Beautiful certificate design — Playfair Display typography, gold corner ornaments, event seal, and signature lines
  • Print / Save as PDF — one-click browser print with a clean print stylesheet (no server-side PDF library required)
  • Duplicate prevention — the same email address always returns the same certificate
  • Unique certificate ID — every certificate has a short token-based ID for verification
  • Admin certificates log — view all issued certificates with a direct link to each one
  • Settings panel — configure event name, date, location, and organizer name from WP Admin
  • Shortcode support[wordcamp_certificate] works on any page or post
  • Gutenberg block — drag-and-drop "WordCamp Certificate Form" block with Inspector Controls
  • Fully sanitized & secure — nonce-verified AJAX, sanitize_text_field, sanitize_email, and wpdb->prepare throughout

Requirements

Requirement Minimum Version
WordPress 5.8
PHP 7.4
Browser Any modern browser (Chrome, Firefox, Safari, Edge)

Note: The plugin uses dbDelta() for table creation and is compatible with both MySQL and SQLite (via the WordPress SQLite Database integration).


Installation

Option A — Manual Upload

  1. Download or clone this repository.
  2. Copy the wordcamp-certificate folder into your site's wp-content/plugins/ directory.
  3. In WP Admin, go to Plugins → Installed Plugins.
  4. Find WordCamp Certificate Generator and click Activate.

Option B — Clone directly into plugins folder

cd wp-content/plugins
git clone https://github.com/YOUR_USERNAME/wordcamp-certificate.git
wp plugin activate wordcamp-certificate

Configuration

After activation, configure the plugin under WP Admin → WC Certificates → Settings:

Setting Description Example
Event Name The full name of your WordCamp event WordCamp Manila 2025
Event Date Date or date range of the event July 12–13, 2025
Event Location City and country (optional) Manila, Philippines
Organizer Name Appears on the signature line WordCamp Manila Team

Usage

Shortcode

Add this shortcode to any page or post:

[wordcamp_certificate]

You can also override event details inline:

[wordcamp_certificate event_name="WordCamp Manila 2025" event_date="July 12, 2025"]

Gutenberg Block

  1. Open the Block Editor on any page or post.
  2. Search for "WordCamp Certificate Form" in the block inserter.
  3. Add the block — it renders a live preview in the editor.
  4. Use the Inspector Controls (right sidebar) to override the event name and date per-page.

Direct URL

Once a certificate is generated, it lives at a permanent URL:

https://yoursite.com/?wcc_cert=1&token=UNIQUE_TOKEN

This URL can be bookmarked, shared, or re-printed at any time.


File Structure

wordcamp-certificate/
├── wordcamp-certificate.php   # Main plugin file — hooks, AJAX, shortcode, block registration
├── assets/
│   ├── frontend.css           # Attendee form styles
│   ├── frontend.js            # AJAX form submission, inline validation, success state
│   ├── admin.css              # WP Admin styles
│   └── block.js               # Gutenberg block (editor-side React/wp.element)
├── templates/
│   ├── form.php               # Attendee-facing input form
│   ├── certificate.php        # Standalone certificate page (no WP theme wrapper)
│   ├── admin.php              # Admin certificates list table
│   └── settings.php           # Admin settings form
└── README.md

Database

On activation the plugin creates one custom table:

CREATE TABLE wp_wordcamp_certificates (
  id           BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
  full_name    VARCHAR(255) NOT NULL,
  email        VARCHAR(255) NOT NULL,
  issued_at    DATETIME DEFAULT CURRENT_TIMESTAMP,
  cert_token   VARCHAR(64) NOT NULL,
  PRIMARY KEY  (id),
  UNIQUE KEY   cert_token (cert_token),
  KEY          email (email)
);

The table is created with dbDelta() so it is safe to re-activate without data loss.


Security

  • All AJAX requests are verified with wp_create_nonce / check_ajax_referer
  • User input is sanitized with sanitize_text_field and sanitize_email before processing or storage
  • All database queries use $wpdb->prepare() — no raw interpolated SQL
  • Certificate tokens are generated with wp_generate_password( 32, false ) (cryptographically random)
  • The certificate template runs outside the WordPress theme loop but does not expose any credentials

Customization

Colors

CSS custom properties are defined at the top of assets/frontend.css and inside the `

Read the full README on GitHub →