WP Manifestindependent plugin directory
manifest / users / certificate-verifier-pro

Certificate Verifier Pro

A comprehensive certificate verification system for WordPress. It allows you to create, manage, and verify certificates issued to students on your website.

★ 0stars

Install

Download source zip No release zip yet

This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.

Install straight from GitHub with WP-CLI:

wp plugin install https://github.com/kayode-lateef/certificate-verifier-pro/archive/refs/heads/main.zip
No built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.

Certificate Verification System

A comprehensive WordPress plugin for managing and verifying certificates issued to students.

Features

  • Certificate Management: Add, view, and delete certificates from WordPress admin
  • Public Verification: Allow visitors to verify certificates using unique certificate IDs
  • Security: Built-in nonce verification, input sanitization, and rate limiting
  • AJAX-Powered: Smooth verification process without page reloads
  • Responsive Design: Mobile-friendly verification form
  • Status Management: Support for active, revoked, and expired certificates

Installation

  1. Upload the certificate-verification folder to /wp-content/plugins/
  2. Activate the plugin through the 'Plugins' menu in WordPress
  3. Go to 'Certificates' menu in WordPress admin to start adding certificates

Usage

Adding Certificates

  1. Navigate to Certificates > Add New in WordPress admin
  2. Fill in the required fields:
    • Certificate ID (unique identifier)
    • Student Name
    • Issue Date
  3. Optional fields:
    • Certificate Type
    • Course/Program Name
    • Expiry Date
    • Additional Information
    • Status (Active/Revoked)
  4. Click "Add Certificate"

Displaying Verification Form

Add the verification form to any page or post using the shortcode:

[certificate_verification]

Shortcode Attributes

Customize the form with these optional attributes:

[certificate_verification 
    title="Custom Title" 
    description="Custom description text"
    placeholder="Enter your certificate number"
    button_text="Verify Now"
]

Managing Certificates

  • View all certificates: Certificates > All Certificates
  • Search certificates by ID or student name
  • Delete certificates (soft delete - marks as deleted)
  • Pagination for large certificate lists

Technical Details

Database Structure

The plugin creates a custom table wp_certificates with the following fields:

  • id - Auto-increment primary key
  • certificate_id - Unique certificate identifier
  • student_name - Name of certificate recipient
  • issue_date - Date certificate was issued
  • certificate_type - Type of certificate
  • course_name - Associated course or program
  • status - Certificate status (active/revoked/deleted)
  • expiry_date - Optional expiration date
  • additional_info - Additional notes
  • created_at - Record creation timestamp
  • updated_at - Last update timestamp

Security Features

  • Nonce Verification: All AJAX requests verified with WordPress nonces
  • Input Sanitization: All user inputs sanitized before database operations
  • Prepared Statements: SQL injection prevention through WordPress $wpdb
  • Rate Limiting: IP-based rate limiting (10 requests per 15 minutes by default)
  • Capability Checks: Admin functions restricted to users with 'manage_options'

AJAX Endpoints

  • verify_certificate - Public endpoint for certificate verification

Development

File Structure

certificate-verification/
├── certificate-verification.php (Main plugin file)
├── includes/
│   ├── class-database.php (Database operations)
│   ├── class-admin.php (Admin interface)
│   ├── class-public.php (Public shortcode)
│   ├── class-ajax-handler.php (AJAX processing)
│   └── class-security.php (Security functions)
├── admin/
│   ├── css/
│   └── js/
├── public/
│   ├── css/
│   │   └── public-style.css
│   └── js/
│       └── public-script.js
└── README.md

Hooks and Filters

The plugin provides several hooks for customization:

  • cert_verify_before_insert - Before certificate insertion
  • cert_verify_after_insert - After certificate insertion
  • cert_verify_verification_result - Filter verification result

Requirements

  • WordPress 5.0 or higher
  • PHP 7.4 or higher
  • MySQL 5.6 or higher

Changelog

Version 1.0.5 (2026-01-13) - Data Preservation Update

  • IMPORTANT: Certificate data now preserved when plugin is deleted
  • Modified uninstall.php to keep certificate table intact
  • Allows safe testing, reinstallation, and migration
  • Only plugin settings and cache are removed on deletion
  • Certificates remain in database permanently unless manually deleted

Version 1.0.4 (2026-01-13) - JavaScript Localization Fix

  • Fixed JavaScript variable name mismatch (certVerify → certVerifier)
  • Resolved "certVerifier is not defined" error
  • AJAX verification now works correctly
  • Form submission functional
  • Loading states working properly
  • All features fully operational

Version 1.0.3 (2026-01-13) - HTML Class Name Update

  • Fixed HTML class names to match JavaScript selectors
  • Updated form template from cert-verify- to cert-verifier-
  • Form submission now properly intercepted by JavaScript
  • Resolved verification form not responding to clicks

Version 1.0.2 (2026-01-13) - Database Enhancement

  • Enhanced database error handling and logging
  • Auto-creates database table if missing
  • Fixed dbDelta compatibility (removed IF NOT EXISTS)
  • Better error messages for debugging
  • More specific error reporting in admin
  • Fixed DEFAULT CURRENT_TIMESTAMP syntax for strict mode

Version 1.0.1 (2026-01-13) - Admin Interface Fix

  • Fixed admin page slugs (cert-verify- → cert-verifier-)
  • Updated all internal navigation links
  • Added success/error message displays
  • Fixed form submission redirects
  • Fixed "Add New" and "Cancel" button links
  • Certificate addition now works correctly

Version 1.0.0 (2026-01-13) - Initial Release

  • Basic certificate management (Add, View, Delete)
  • Public verification form via shortcode
  • AJAX-powered verification
  • Rate limiting (10 attempts per 15 minutes)
  • Security features (nonces, sanitization, prepared statements)
  • Responsive design
  • Mobile-friendly interface
  • Status management (Active, Revoked)
  • Search functionality
  • Pagination support

Support

For support and feature requests, please contact the plugin author.

License

GPL v2 or later