CertifyPress Pro Documentation
Welcome to the definitive, feature-by-feature administrator and developer documentation for CertifyPress Pro. This comprehensive guide covers setup, licensing, custom fields, dual rendering engines, dynamic QR codes, vector PDF export, bulk operations, and security.
Overview & System Architecture
CertifyPress Pro (licensed under LM Designers) is an enterprise-grade WordPress certificate publishing, issuance, and real-time credential verification ecosystem. It runs 100% self-hosted inside your WordPress installation, securely managing student records and verification queries without third-party metered API locks.
Instant Verification
Dynamic QR code scan routes straight to live verification card in under 0.8s without full-page reloads.
Dual Engine Studio
Switch between pure zero-dependency HTML5/CSS3 templates or visual drag-and-drop Elementor canvas.
Privacy & Anti-Scrape
Automatic XML sitemap exclusion, noindex headers, anti-tamper watermark, and Google reCAPTCHA v3 bot shield.
[WP Database Core]
├── Custom Post Type: 'lmc_certificate'
├── Custom Taxonomies: 'lmc_certificate_category' & 'lmc_certificate_tag'
├── Dynamic Post Meta: '_lmc_student_name', '_lmc_roll_number', '_lmc_issue_date', '_lmc_expiry_date'
├── User Defined Custom Fields: 'lmcp_custom_fields' array
└── Global Configuration: 'lmcp_advanced_settings' & 'lmcp_license_options'
System Requirements & Compatibility
Before uploading the plugin, ensure your hosting server environment meets these baseline standards:
| Component | Minimum Supported | Recommended Production |
|---|---|---|
| WordPress Core | 5.8+ | 6.2, 6.4, 6.7+ (Fully tested) |
| PHP Version | 7.4 | 8.1 or 8.2+ |
| PHP Extensions | JSON, cURL, MBString | OpenSSL (for HMAC hash validation) |
| MySQL / MariaDB | MySQL 5.7+ / MariaDB 10.3+ | MySQL 8.0+ / MariaDB 10.6+ |
| Page Builder | None (Pure HTML Engine) | Elementor 3.5+ (If using visual canvas) |
Installation & Quick Start
Installing CertifyPress Pro takes less than 60 seconds. Follow these 4 straightforward steps:
-
Download Plugin ZIP: Download the distribution ZIP archive (e.g.
CertifyPress-Pro.zip). - Upload via WP Admin: Log into your WordPress admin console, navigate to Plugins > Add New > Upload Plugin.
- Install & Activate: Click Install Now, wait for unzipping to complete, and click Activate Plugin.
- Auto Free Deactivation: If you previously had the free LM Certificate Publisher active, CertifyPress Pro automatically deactivates the free copy safely, ensuring zero database conflicts or duplicate menus!
Upload Plugin & Activate CertifyPress Pro
Upload the ZIP package file containing lm-certificate-publisher-pro/certifypress.php to initialize all Pro post types and dashboard menus.
Licensing & Anti-Tamper Core Engine
CertifyPress Pro features a modern, non-blocking licensing manager built directly into LM Certificates > License. Unlike clunky legacy plugins that lock down your entire admin panel with annoying redirect loops, CertifyPress uses a clean modal handshake.
- • Duration: 1 Year (365 days) subscription renewal model.
- • Slot Migration: Moveable between staging and production. Simply click Deactivate License to free the slot.
- • Tiers: Single Site (1 Slot), 5-Sites (5 Slots), or Agency (Unlimited up to 999 Slots).
- • Duration: Exactly 60 days (2 Months) from moment of activation.
- • Strict Domain Lock: Trial keys permanently bind to the first activated domain to prevent license recycling.
- • Dashboard Counter: Live countdown displays remaining trial days.
Publishing & Managing Certificates
Certificates are managed under the WordPress Custom Post Type lmc_certificate. Each record stores standard credential coordinates alongside limitless dynamic custom metadata.
Core Built-In Certificate Fields
| Field Name | Database Meta Key | Description & Frontend Usage |
|---|---|---|
| Certificate Title | post_title | Internal descriptive title (e.g. John Doe - Data Science Masterclass). |
| Student Legal Name | _lmc_student_name | The recipient's full printed name that appears on certificate canvas. |
| Roll / Reference ID | _lmc_roll_number | Unique credential identifier queried by verifiers. Auto-generated or custom. |
| Issue Date | _lmc_issue_date | Official date of graduation or issuance. |
| Expiration Date | _lmc_expiry_date | Optional expiration timestamp. If passed, status switches to Expired. |
Add New Certificate Record
Structured Metadata FormDynamic Custom Fields Studio
No two academies have identical certificate fields. With LM Certificates > Custom Fields, you can define unlimited dynamic fields (e.g. Instructor Name, GPA Grade, Total Practical Hours, Accreditation Number, Subject Marksheet Tables).
How Custom Fields Work:
- Navigate to LM Certificates > Custom Fields.
- Enter a Field Label (e.g. Instructor Signature Name) and slug (e.g.
instructor_name). - Select the Field Type: Text, Textarea, Number, Date, Select Dropdown, or Dynamic Marksheet Table.
- The field will automatically appear in the certificate editor when creating or editing certificates.
- The engine generates a 1-click dynamic merge tag:
[lmcp_custom_field_instructor_name]ready for your HTML or Elementor templates!
[lmcp_custom_field_final_grade]
[lmcp_custom_field_instructor_name]
Search Criteria & Frontend Shortcodes
You don't have to force students to memorize their roll number. In LM Certificates > Search Criteria, you can activate flexible multi-attribute querying:
Frontend Search Shortcode
Place this shortcode into any WordPress page (Gutenberg block, Elementor shortcode widget, Classic editor, or theme template):
[lmcp_search_form]
Supported Shortcode Attributes
| Attribute | Default | Options & Example Usage |
|---|---|---|
| category | all | Filter results strictly to a specific department slug: [lmcp_search_form category="engineering"] |
| placeholder | "Enter Roll Number..." | Custom search input hint: [lmcp_search_form placeholder="Enter your Student ID"] |
| show_dropdown | yes | Toggle category filter dropdown visibility: show_dropdown="no" |
Dual Rendering Engines (HTML5 vs Elementor)
CertifyPress Pro gives you the industry's first true Dual Rendering Engine. Under LM Certificates > Advanced Settings > Templates & Style, choose your preferred architecture:
Renders certificates using clean semantic HTML5 and scoped responsive CSS. Zero external page builders needed. Lightning-fast TTFB and works seamlessly with all WordPress themes.
- ✓ Built-in code editor with syntax color
- ✓ Modal live preview with test student data
- ✓ Starter templates: Royal Gold Crest, Minimalist Slate
Design certificates using Elementor drag-and-drop. Build responsive landscape layouts (recommended 1000px canvas) and drop dynamic CertifyPress Pro widgets directly into columns.
- ✓ 9 Dedicated Pro Elementor Widgets
- ✓ Dynamic Tag resolution for post meta
- ✓ Per-category custom template assignment
The 9 Dedicated Pro Elementor Widgets
QR Code Verification & Sandbox Landscape PDF Exporter
1. Real-Time Dynamic QR Code Engine
CertifyPress Pro generates QR codes 100% locally via client-side vector libraries (qrcode.js). Unlike free plugins that depend on the deprecated Google Charts API (which fails offline and leaks visitor data), CertifyPress generates crisp, scalable SVGs or Canvas elements directly in the browser in under 0.8 seconds.
- Custom Error Correction: Configurable Level L, M, Q, or H (High resilience against print degradation).
- Dynamic Scan Target: Configurable redirect URL pointing to your frontend verification portal.
- Styling Controls: Customizable module colors, margin sizes, and background transparent support.
2. Sandbox Landscape PDF Exporter
The centerpiece of CertifyPress Pro is the Client-Side Vector PDF Engine powered by bundled html2pdf.js:
Advanced Pro Settings (A to Z)
CertifyPress Pro includes an extensive suite of specialized administrative controls in LM Certificates > Advanced Settings. Here is the complete breakdown:
# Automated Serial Numbering
Automatically assigns an incremental serial code upon publishing each new certificate. Configure custom prefixes (e.g. CERT-2026-), specify 4-digit or 6-digit zero padding (0001), and define the initial starting counter.
⏳ Expiry Dates & Validity Alerts
For professional licenses, certifications, and compliance credentials that expire after 1, 2, or 3 years. Toggle between two enforcement modes:
- Display Warning Banner: Shows certificate with prominent red alert notifying employers the credential has lapsed.
- Completely Hide: Hides expired records from public verification results entirely.
✉️ Automated Email Notifications
Automatically dispatches personalized congratulations emails to recipients the second their certificate is published. Features rich HTML template styling, custom subject lines, and auto-populated dynamic tags: {student_name}, {certificate_title}, and {verification_url}.
🛡️ Privacy & Sitemaps Shield
Protects student privacy and GDPR compliance. Automatically removes the certificate CPT (lmc_certificate) from public XML sitemaps generated by Yoast SEO, Rank Math, AIOSEO, SEOPress, and WordPress core sitemaps. Sends HTTP headers: X-Robots-Tag: noindex, nofollow, noarchive.
🤖 Google reCAPTCHA v3 Bot Defense
Invisible score-based bot mitigation. Stops scrapers and automated bots from harvesting student names and grades through brute-force queries. Simply insert your Google reCAPTCHA v3 Site Key and Secret Key.
⚡ Search Preloader & UX Animations
Delivers an engaging verification experience. Shows an animated loading spinner (or custom institution GIF) with a configurable delay timer (e.g. 1200ms) to simulate live database lookup.
🏷️ White-Labeling & Branding Engine
Agency tier users can rebrand the plugin completely. Upload your academy logo to replace the default admin badge, customize menu labels, and choose your primary brand theme color.
Bulk CSV / Excel Operations (Import & Export)
When graduating a class of 500+ students, creating records manually is impractical. In LM Certificates > Bulk Operations (or Advanced Settings > Export & Import), upload a spreadsheet to batch publish hundreds of credentials in seconds.
Standard CSV Header Columns:
Sample CSV Rows:
"Maria Garcia - Data Science","Maria Garcia","DS-2026-102","2026-09-01","2028-09-01","Data Science","Distinction","Dr. Ada Lovelace","A"
Custom CSS & Print Formulas (Zero-Code Power Guide)
Whether you use the built-in HTML5 Engine or Elementor, you have complete autonomous control over typography, borders, background textures, and high-fidelity print output. You do not need developer intervention—simply copy and paste these verified CSS rules into LM Certificates > Custom HTML Template > Custom CSS:
Ensures certificates fill printed A4 paper without white sidebars or clipping on desktop and mobile:
width: 100%;
max-width: 1000px;
aspect-ratio: 1.414 / 1;
margin: 0 auto;
position: relative;
box-sizing: border-box;
}
Adds a translucent seal behind certificate text that remains crisp when exported to PDF:
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 380px;
height: 380px;
opacity: 0.06;
pointer-events: none;
z-index: 1;
}
Forces the browser printer to remove header/footer URL stamps and apply clean edge-to-edge printing:
@page { size: landscape; margin: 0; }
body { margin: 0; padding: 0; background: #fff !important; }
.lmc-no-print, header, footer, .nav-bar { display: none !important; }
.lmc-certificate-container { box-shadow: none !important; border: none !important; }
}
Troubleshooting & Zero-Support Diagnostic Matrix
CertifyPress Pro is engineered to be 100% self-sufficient. If an error appears or a feature does not behave as expected, consult this definitive resolution matrix to diagnose and fix it immediately without needing customer support:
Error: "License Key Expired" or "Invalid Activation Key"
Why it occurs: Commercial keys hold a 365-day active lease; Free Trial keys hold a 60-day lease. Once the lease period ends or an invalid character is pasted, the verification check fails.
Error: "Domain Mismatch" / Moving from Staging or Localhost to Production
Why it occurs: Pro licenses register the active domain URL to prevent piracy. If you activate on staging.example.com, the license is locked to that domain slot.
Issue: PDF download is shifted, cut-off, or blank on mobile screens
Why it occurs: A fixed pixel width like width: 1200px !important in custom CSS forces the mobile viewport to truncate the PDF canvas.
max-width: 1000px; width: 100%; aspect-ratio: 1.414 / 1;. Also ensure all background certificate images are hosted on the same domain (HTTPS) to prevent browser CORS canvas security blocks.
Issue: Smartphone camera does not detect the QR code on the certificate
Why it occurs: The QR code is rendered too small (under 120px) or placed on top of a dark, busy background pattern with insufficient contrast.
background: #ffffff; padding: 6px; border-radius: 6px;) so scanner lenses identify the quiet zone immediately.
Issue: Search form displays "No Certificate Found" for a valid student
Why it occurs: The certificate is saved as a Draft rather than Published, or the student query contains invisible trailing spaces.
Issue: CSV Batch Import stuck at 0% or errors on date columns
Why it occurs: Dates are formatted with slashes like DD/MM/YYYY instead of the standard ISO format YYYY-MM-DD, or the CSV file is saved in UTF-16 rather than UTF-8.
YYYY-MM-DD (e.g. 2026-09-28). Choose File > Export > CSV (Comma delimited - UTF-8) before uploading into Bulk Operations.
Q: Will upgrading to Pro overwrite my existing certificates from the free plugin?
No, 100% of your data is safe! CertifyPress Pro reads the identical post types (lmc_certificate) and meta keys. Pro automatically detects and deactivates the free version, seamlessly upgrading your dashboard without any data loss.
🔗 LinkedIn Profile & Viral Social Sharing
Allows recipients to add their verifiable credential directly to their LinkedIn Profile Certifications section in 1 click! Pre-populates certification name, organization, issue date, credential ID, and verification link. Also includes 1-click sharing buttons for WhatsApp, X (Twitter), and Facebook.