{"id":348748,"date":"2026-08-10T14:44:49","date_gmt":"2026-08-10T14:44:49","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/pressprimer-certificate\/"},"modified":"2026-09-24T17:52:39","modified_gmt":"2026-09-24T17:52:39","slug":"pressprimer-certificate","status":"publish","type":"plugin","link":"https:\/\/ta-lk.wordpress.org\/plugins\/pressprimer-certificate\/","author":23411440,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"2.0.0","stable_tag":"2.0.0","tested":"7.1.2","requires":"6.4","requires_php":"7.4","requires_plugins":null,"header_name":"PressPrimer Certificate","header_author":"PressPrimer","header_description":"Design, issue, and verify certificates on your own site. Build them in a drag-and-drop designer, award them automatically through integrations with popular LMS plugins, and let anyone scan a QR code to confirm a certificate is real.","assets_banners_color":"ced5dc","last_updated":"2026-09-24 17:52:39","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/pressprimer.com\/certificate","header_author_uri":"https:\/\/pressprimer.com","rating":5,"author_block_rating":0,"active_installs":200,"downloads":1505,"num_ratings":2,"support_threads":4,"support_threads_resolved":4,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"pressprimer","date":"2026-08-10 14:44:37","revision":3640745},"1.1.0":{"tag":"1.1.0","author":"pressprimer","date":"2026-08-24 12:04:39","revision":3663354},"2.0.0":{"tag":"2.0.0","author":"pressprimer","date":"2026-09-24 17:52:39","revision":3711808}},"upgrade_notice":{"2.0.0":"<p>Certificate search and filters, test award emails, Geometric starter templates, a Certificate Link block, PDF download on the verification page, multi-page rendering, a developer API, and the Educator, School, and Enterprise premium tiers. Existing certificates and templates are unchanged.<\/p>","1.1.0":"<p>Merge fields inside text, &quot;Any&quot; award triggers, certificate names from merge fields, clickable PDF credentials, designer alignment tools, and email merge fields. Existing certificates and templates are unchanged.<\/p>","1.0.0":"<p>Initial release of PressPrimer Certificate. Design, issue, and verify certificates on your own site \u2014 free forever.<\/p>"},"ratings":{"1":0,"2":0,"3":0,"4":0,"5":2},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3640745,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3640745,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3640745,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3640745,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":{"pressprimer-certificate\/verify":{"name":"pressprimer-certificate\/verify","title":"Certificate Verification"},"pressprimer-certificate\/my-certificates":{"name":"pressprimer-certificate\/my-certificates","title":"My Certificates"},"pressprimer-certificate\/certificate-link":{"name":"pressprimer-certificate\/certificate-link","title":"Certificate Link"}},"tagged_versions":["1.0.0","1.1.0","2.0.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3640745,"resolution":"1","location":"assets","locale":"","width":1200,"height":800},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3640745,"resolution":"2","location":"assets","locale":"","width":1200,"height":800},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3640745,"resolution":"3","location":"assets","locale":"","width":1200,"height":800},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3640745,"resolution":"4","location":"assets","locale":"","width":1200,"height":800},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3640745,"resolution":"5","location":"assets","locale":"","width":1200,"height":800}},"screenshots":{"1":"Dashboard with award statistics, quick actions, and recent certificates","2":"The certificate designer: a true-size canvas, element palette, and properties panel","3":"Starter template gallery with Letter and A4 variants","4":"Design defaults: brand colors, logo, signature, and certificate size","5":"The My Certificates page where learners view, verify, and download their certificates"}},"plugin_section":[],"plugin_tags":[2191,2201,18342,10796,2195],"plugin_category":[],"plugin_contributors":[253460],"plugin_business_model":[],"class_list":["post-348748","plugin","type-plugin","status-publish","hentry","plugin_tags-certificate","plugin_tags-certification","plugin_tags-elearning","plugin_tags-learndash","plugin_tags-lms","plugin_contributors-pressprimer","plugin_committers-pressprimer"],"banners":{"banner":"https:\/\/ps.w.org\/pressprimer-certificate\/assets\/banner-772x250.png?rev=3640745","banner_2x":"https:\/\/ps.w.org\/pressprimer-certificate\/assets\/banner-1544x500.png?rev=3640745","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/pressprimer-certificate\/assets\/icon-128x128.png?rev=3640745","icon_2x":"https:\/\/ps.w.org\/pressprimer-certificate\/assets\/icon-256x256.png?rev=3640745","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/pressprimer-certificate\/assets\/screenshot-1.png?rev=3640745","caption":"Dashboard with award statistics, quick actions, and recent certificates"},{"src":"https:\/\/ps.w.org\/pressprimer-certificate\/assets\/screenshot-2.png?rev=3640745","caption":"The certificate designer: a true-size canvas, element palette, and properties panel"},{"src":"https:\/\/ps.w.org\/pressprimer-certificate\/assets\/screenshot-3.png?rev=3640745","caption":"Starter template gallery with Letter and A4 variants"},{"src":"https:\/\/ps.w.org\/pressprimer-certificate\/assets\/screenshot-4.png?rev=3640745","caption":"Design defaults: brand colors, logo, signature, and certificate size"},{"src":"https:\/\/ps.w.org\/pressprimer-certificate\/assets\/screenshot-5.png?rev=3640745","caption":"The My Certificates page where learners view, verify, and download their certificates"}],"raw_content":"<!--section=description-->\n<p><strong>PressPrimer Certificate<\/strong> brings the full certification lifecycle to your WordPress site. A drag-and-drop designer produces the certificate. Unique credential IDs, QR codes, and a public verification page make it authoritative. And it can all be connected to course activity in LearnDash, LifterLMS, Tutor LMS, or LearnPress.<\/p>\n\n<p><strong>This is a genuinely free plugin.<\/strong> Unlimited templates, unlimited certificates, the full designer, a suite of integrations, public verification, and email delivery are all included at no cost.<\/p>\n\n<p>https:\/\/www.youtube.com\/watch?v=3MVuPFKdhzo<\/p>\n\n<h4>Why PressPrimer Certificate?<\/h4>\n\n<p>Certificate tools built into LMS plugins are often afterthoughts: rigid and awkward layouts, no way to verify what students have earned, and no easy way to track certificate activity. Standalone certificate services charge monthly fees and hold your credentials on someone else's infrastructure.<\/p>\n\n<p>PressPrimer Certificate delivers a complete, self-hosted credential workflow, including:<\/p>\n\n<ul>\n<li><strong>A true-size designer<\/strong> \u2013 The canvas is the PDF. What you build on screen is exactly what recipients download.<\/li>\n<li><strong>Credentials that can be checked<\/strong> \u2013 Every certificate carries a unique, non-guessable credential ID and a QR code linking to a public verification page on your site.<\/li>\n<li><strong>Comprehensive integrations<\/strong> \u2013 Certificates award themselves when a learner passes a quiz, earns a grade, or completes a course. Manual certificate generation is also available.<\/li>\n<li><strong>Records that outlive the template<\/strong> \u2013 Issued certificates snapshot their design and data at issue time. Editing a template later never changes a certificate that has already been earned.<\/li>\n<\/ul>\n\n<h4>Features Included Free<\/h4>\n\n<p><strong>Certificate Designer<\/strong><\/p>\n\n<ul>\n<li>Interactive WYSIWYG canvas with drag, resize, keyboard nudging, undo\/redo, and zoom<\/li>\n<li>Eight starter designs - Formal, Modern, Playful, and Geometric, each in portrait and landscape - every one in Letter and A4, plus a blank option<\/li>\n<li>Image, logo, signature, and background elements accept PNG, JPEG, and GIF, plus WebP and AVIF where your server supports them<\/li>\n<li>Six bundled open-license fonts (SIL OFL) with real bold and italic faces<\/li>\n<li>Text, merge field, image, signature, line\/shape, QR code, and background elements<\/li>\n<li>Merge fields for recipient, certificate, site, quiz, assignment, and course data, including custom user and post meta<\/li>\n<li>Merge fields inside text: write \"Expires:\" and insert the expiry date field, and the whole line centers and wraps as one piece<\/li>\n<li>Alignment tools: align and distribute grouped elements, and guides to help with alignment<\/li>\n<li>Live PDF preview from the real renderer<\/li>\n<\/ul>\n\n<p><strong>Design Defaults<\/strong><\/p>\n\n<ul>\n<li>Site-wide defaults for certificate size (Letter or A4), font, logo, and signature<\/li>\n<li>Brand colors (primary, accent, text) that starter templates apply automatically<\/li>\n<\/ul>\n\n<p><strong>Issuance &amp; Automation<\/strong><\/p>\n\n<ul>\n<li>Automatic triggers: PressPrimer Quiz pass thresholds, PressPrimer Assignment grades, and course, lesson, topic, or quiz completion in LearnDash, LifterLMS, Tutor LMS, and LearnPress<\/li>\n<li>\"Any\" award options: one trigger can cover any quiz, any course, or any lesson in a chosen course, so one certificate serves your whole catalog<\/li>\n<li>Certificate display names built from merge fields, so a template reused across courses names each certificate after its course everywhere it appears<\/li>\n<li>Manually issue certificates with optional backdating and expiry dates<\/li>\n<li>Validity periods: set how long certificates from a template stay valid (days, months, or years), pick an exact expiry date, or let them last forever<\/li>\n<li>Per-trigger control over repeat completions: suppress duplicates or issue a fresh certificate every time (for compliance and recertification courses)<\/li>\n<li>Revoke certificates and reinstate them if revoked by mistake<\/li>\n<li>Send yourself a template's award email with sample values before it goes live<\/li>\n<\/ul>\n\n<p><strong>Credentials &amp; Verification<\/strong><\/p>\n\n<ul>\n<li>Unique, non-guessable credential IDs with a check that catches typos<\/li>\n<li>Public verification page (shortcode and block) that anyone can use, no account needed<\/li>\n<li>Optional QR code on every certificate linking to its verification page<\/li>\n<li>The QR code and credential ID on issued PDFs are clickable, so an emailed certificate verifies in one click<\/li>\n<li>A shareable certificate view page with PDF download<\/li>\n<li>Download PDF on the verification page for valid and expired certificates, so a verifier can keep a copy<\/li>\n<li>Certificate Link block and shortcode: one button on a course, lesson, topic, or quiz page that downloads the logged-in learner's own certificate for that item (or opens its page, your choice), hidden until it is earned<\/li>\n<li>My Certificates list (shortcode and block) so logged-in learners can see, verify, and download everything they have earned, with status filters and sorting by date, name, or upcoming expiry<\/li>\n<li>PDFs are protected against editing: Acrobat and other viewers refuse to modify the text, while printing and copying stay available<\/li>\n<\/ul>\n\n<p><strong>Admin<\/strong><\/p>\n\n<ul>\n<li>Dashboard with certificate statistics, an awarded-over-time chart, quick actions, and recent certificates<\/li>\n<li>A guided setup tour that walks you from a starter template to your first issued certificate in five minutes<\/li>\n<li>Certificates screen with search by recipient, certificate name, or exact credential ID, and template, status, source, and issue-date filters<\/li>\n<li>Resend a certificate's email with one click<\/li>\n<li>Certificate merge fields in the email subject and body, so the email can name the exact course or quiz that was completed<\/li>\n<li>Earned certificates listed on each user's profile page with verify and download links<\/li>\n<li>Certificate templates list with trigger, page size, and status columns<\/li>\n<\/ul>\n\n<p><strong>Security, Privacy &amp; Accessibility<\/strong><\/p>\n\n<ul>\n<li>PDF and QR code generation happen locally on your server<\/li>\n<li>PDF files cannot be modified in Acrobat or other tools to change data like the student name<\/li>\n<li>WordPress Privacy API integration (Tools &gt; Export\/Erase Personal Data)<\/li>\n<li>Clean uninstall with optional complete data removal<\/li>\n<li>Keyboard navigation, screen reader support, and reduced motion preferences<\/li>\n<\/ul>\n\n<h4>Premium Add-ons<\/h4>\n\n<p>Everything above is free on WordPress.org. Optional add-ons from <a href=\"https:\/\/pressprimer.com\/pressprimer-certificate-pricing\/\">pressprimer.com<\/a> extend the plugin in three tiers, each building on the one below it:<\/p>\n\n<p><strong>Educator<\/strong><\/p>\n\n<ul>\n<li><strong>Custom Fonts<\/strong> \u2013 Upload your brand's TTF fonts; they appear in every designer font control and render identically on screen and in the PDF.<\/li>\n<li><strong>Multi-Page Certificates<\/strong> \u2013 Add, duplicate, and reorder pages in the designer; every page renders in the PDF.<\/li>\n<li><strong>Bulk Awarding<\/strong> \u2013 Award a certificate to many recipients at once from a user list or a CSV, with a full per-row preview before anything sends.<\/li>\n<li><strong>Expiry Reminder Emails<\/strong> \u2013 Remind recipients before their certificate expires, on a schedule you control, with an editable message and a test send.<\/li>\n<li><strong>Branded Verification Page<\/strong> \u2013 Your logo, accent color, intro line, and footer on the public verification page, with a live preview.<\/li>\n<li><strong>Social Sharing<\/strong> \u2013 One-click LinkedIn add-to-profile, share composers for LinkedIn, X, and Facebook, copy link, and link previews that show the certificate itself.<\/li>\n<\/ul>\n\n<p><strong>School<\/strong> <em>(everything in Educator, plus)<\/em><\/p>\n\n<ul>\n<li><strong>Issuing Organizations<\/strong> \u2013 Issuer profiles with their own name, logo, and web address; members as owners or issuers; templates assigned per organization so members see and award only their own.<\/li>\n<li><strong>Public Registry<\/strong> \u2013 An issuer profile page and per-credential program pages with a sample certificate image and earner count.<\/li>\n<li><strong>Credential Directory<\/strong> \u2013 A searchable public directory of credential holders, listed according to your site policy and per-certificate consent.<\/li>\n<li><strong>Organization-Branded Verification<\/strong> \u2013 The verification page carries the issuing organization's logo, accent color, intro, and footer.<\/li>\n<li><strong>Award Past Completions<\/strong> \u2013 Find everyone who completed a course, lesson, quiz, or assignment before the trigger existed, preview every row, and award them in one run.<\/li>\n<li><strong>Email Copies<\/strong> \u2013 Per-template CC and BCC on award emails, plus optional copies to LearnDash Group Leaders and PressPrimer Teachers.<\/li>\n<\/ul>\n\n<p><strong>Enterprise<\/strong> <em>(everything in School, plus)<\/em><\/p>\n\n<ul>\n<li><strong>Audit Log<\/strong> \u2013 A single, filterable record of who did what and when across the suite, with per-category retention controls and CSV export.<\/li>\n<li><strong>White Label<\/strong> \u2013 Run the certificate system under your own brand across the admin, every email, new PDFs, and the public verification page.<\/li>\n<li><strong>Verification API and Embeddable Widget<\/strong> \u2013 A key-authenticated JSON endpoint that answers what the verification page shows, and a drop-in widget partners paste into their own pages.<\/li>\n<\/ul>\n\n<h4>Perfect For<\/h4>\n\n<ul>\n<li><strong>Course creators<\/strong> using LearnDash, LifterLMS, Tutor LMS, or LearnPress who need real, verifiable certificates<\/li>\n<li><strong>Training providers<\/strong> whose completion certificates must survive audits and employer checks<\/li>\n<li><strong>Universities and schools<\/strong> issuing program or workshop credentials<\/li>\n<li><strong>Membership and community sites<\/strong> recognizing achievements with shareable certificates<\/li>\n<li><strong>Standalone WordPress educators<\/strong> issuing certificates manually (no LMS is required)<\/li>\n<\/ul>\n\n<h4>Built-in Integrations<\/h4>\n\n<p>PressPrimer Certificate automatically detects and integrates with:<\/p>\n\n<p><strong>PressPrimer Quiz:<\/strong> Award a certificate when a learner passes a quiz, with quiz score and title merge fields.<\/p>\n\n<p><strong>PressPrimer Assignment:<\/strong> Award a certificate when an assignment is graded and passed, with grade and assignment merge fields.<\/p>\n\n<p><strong>LearnDash:<\/strong> Award on course, lesson, topic, or quiz completion, with associated merge fields.<\/p>\n\n<p><strong>LifterLMS:<\/strong> Award on course or quiz completion.<\/p>\n\n<p><strong>Tutor LMS:<\/strong> Award on course or quiz completion.<\/p>\n\n<p><strong>LearnPress:<\/strong> Award on course or quiz completion, including quizzes inside course sections.<\/p>\n\n<p>Every integration also offers \"Any\" options, so one template can cover every course or quiz without a trigger per item.<\/p>\n\n<p>All integrations are bundled in the free version, and the plugin is still fully functional if you don't use an LMS plugin.<\/p>\n\n<h4>Built for Developers<\/h4>\n\n<ul>\n<li>Public <code>ppcert_*()<\/code> functions for issuing, rendering, and linking certificates from your own plugin<\/li>\n<li>Action hooks for issuance, revocation, and verification events<\/li>\n<li>Filter-based registries for custom trigger types (including value-only \"threshold\" triggers) and merge fields<\/li>\n<li>REST API support<\/li>\n<li>Custom database tables with automatic schema migration<\/li>\n<\/ul>\n\n<h4>Documentation &amp; Support<\/h4>\n\n<ul>\n<li><a href=\"https:\/\/pressprimer.com\/knowledge-base\/pressprimer-certificate\/\">Knowledge Base<\/a><\/li>\n<\/ul>\n\n<h4>Source Code &amp; Development<\/h4>\n\n<p>The full uncompressed source code for all JavaScript and CSS files is available in our public GitHub repository:<\/p>\n\n<ul>\n<li><a href=\"https:\/\/github.com\/PressPrimer\/pressprimer-certificate\">GitHub Repository<\/a><\/li>\n<\/ul>\n\n<p>The <code>\/src<\/code> directory contains all unminified source files. The plugin uses webpack for building production assets. To rebuild from source:<\/p>\n\n<ol>\n<li>Clone the repository<\/li>\n<li>Run <code>npm install<\/code> to install dependencies<\/li>\n<li>Run <code>npm run build<\/code> to compile assets<\/li>\n<\/ol>\n\n<h3>Privacy<\/h3>\n\n<p>PressPrimer Certificate stores certificate data (templates, issued certificates, recipient references, and issuance events) in your WordPress database under your full control. PDF and QR code generation happen locally on your server. No certificate or recipient data is ever transmitted to external servers. The single exception to \"nothing leaves your site\" is the optional email-course opt-in described under External Services; it sends only an email address that an administrator explicitly typed in and submitted.<\/p>\n\n<p>Issued certificates are public to anyone who has the link or the credential ID. The certificate's share page, its verification result, and its PDF download open without signing in and show the recipient's name, the certificate title, the issuer, the issue and expiry dates, and the full certificate with every merge field placed on its design (which can include the recipient's email address if the template uses that field). Long random credential IDs and rate limiting make guessing impractical, but anyone a recipient shares the link with, or who scans the QR code, sees the same information. If your site must meet GDPR or similar rules, say so in your privacy policy: the plugin adds suggested wording under Settings &gt; Privacy &gt; Policy Guide.<\/p>\n\n<p>The plugin integrates with the WordPress Privacy API:<\/p>\n\n<ul>\n<li><strong>Tools &gt; Export Personal Data<\/strong> includes all certificates issued to the requested user.<\/li>\n<li><strong>Tools &gt; Erase Personal Data<\/strong> permanently deletes the requested user's certificates.<\/li>\n<\/ul>\n\n<p>Verification and view events are stored without IP addresses or user agents, and prunable event rows are cleaned up on a configurable retention schedule. Administrators can permanently delete all plugin data via Settings &gt; Advanced &gt; \"Remove all data on uninstall\" before uninstalling the plugin.<\/p>\n\n<h3>External Services<\/h3>\n\n<p>This plugin offers an optional free email course for administrators. When (and only when) a user types their email address into the opt-in form and clicks the subscribe button, the plugin connects to pressprimer.com to register the subscription.<\/p>\n\n<ul>\n<li><strong>When:<\/strong> Only on an explicit opt-in submission. No request is ever made automatically (no telemetry, no activation pings, no environment data).<\/li>\n<li><strong>What data:<\/strong> The typed email address and a tag naming which screen the form was on. Nothing else.<\/li>\n<li><strong>Unsubscribing:<\/strong> Every email includes an unsubscribe link, honored immediately.<\/li>\n<li><strong>Terms of Service:<\/strong> https:\/\/pressprimer.com\/terms-conditions\/<\/li>\n<li><strong>Privacy Policy:<\/strong> https:\/\/pressprimer.com\/privacy-policy\/<\/li>\n<\/ul>\n\n<p>Dismissing the offer is remembered permanently and is stored only on your own site.<\/p>\n\n<h3>Third-Party Libraries<\/h3>\n\n<p>The plugin bundles the following open-source software (nothing is loaded from a CDN and no external requests are made):<\/p>\n\n<ul>\n<li><strong>TCPDF<\/strong> (6.11.3, pinned) \u2014 LGPL-3.0 by Nicola Asuni \/ Tecnick.com \u2014 renders certificate PDFs on your server. Its bundled barcode module also generates the QR codes. https:\/\/github.com\/tecnickcom\/TCPDF<\/li>\n<li><strong>Recharts<\/strong> (3.x) \u2014 MIT \u2014 draws the dashboard's awarded-over-time chart. Compiled into the plugin's script bundles. https:\/\/github.com\/recharts\/recharts<\/li>\n<li><strong>Day.js<\/strong> (1.x) \u2014 MIT \u2014 date handling in the admin apps. Compiled into the plugin's script bundles. https:\/\/github.com\/iamkun\/dayjs<\/li>\n<\/ul>\n\n<p>The bundled fonts are all licensed under the SIL Open Font License 1.1, with license files shipped alongside each family: Playfair Display, Source Sans 3, EB Garamond, Quicksand, Great Vibes, and Alex Brush.<\/p>\n\n<!--section=installation-->\n<h4>Automatic Installation<\/h4>\n\n<ol>\n<li>Go to <strong>Plugins &gt; Add New<\/strong> in your WordPress admin<\/li>\n<li>Search for \"PressPrimer Certificate\"<\/li>\n<li>Click <strong>Install Now<\/strong> and then <strong>Activate<\/strong><\/li>\n<li>Navigate to <strong>Certificates<\/strong> in your admin menu; the setup tour will walk you through your first certificate<\/li>\n<\/ol>\n\n<h4>LMS Integration<\/h4>\n\n<p>If you have PressPrimer Quiz, PressPrimer Assignment, LearnDash, LifterLMS, Tutor LMS, or LearnPress installed, their triggers are enabled automatically. Open a certificate template's Award tab to connect it, choose a specific course or quiz, or an \"Any\" option to cover them all.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"is%20this%20really%20free%2C%20or%20is%20it%20a%20limited%20trial%3F\"><h3>Is this really free, or is it a limited trial?<\/h3><\/dt>\n<dd><p>It's genuinely free and not locked down. PressPrimer Certificate includes unlimited templates, unlimited certificates, the full designer, plugin integrations, public verification, and email delivery in the free version. Optional Educator, School, and Enterprise add-ons add features such as custom fonts, bulk awarding, issuing organizations, and an audit log; the Upgrade page under Certificates compares them, and the free plugin never loses a feature.<\/p><\/dd>\n<dt id=\"does%20this%20plugin%20require%20an%20lms%3F\"><h3>Does this plugin require an LMS?<\/h3><\/dt>\n<dd><p>No. PressPrimer Certificate is fully functional with no LMS installed; you can design certificates and issue them manually to any user. When PressPrimer Quiz, PressPrimer Assignment, LearnDash, LifterLMS, Tutor LMS, or LearnPress is detected, automatic issuance triggers become available.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20pressprimer%20quiz%20and%20pressprimer%20assignment%3F\"><h3>Does it work with PressPrimer Quiz and PressPrimer Assignment?<\/h3><\/dt>\n<dd><p>Yes. Quiz pass thresholds and Assignment grades are included triggers with their own merge fields, so a certificate can show the score a learner earned.<\/p><\/dd>\n<dt id=\"how%20does%20verification%20work%3F\"><h3>How does verification work?<\/h3><\/dt>\n<dd><p>Every certificate can include a unique credential ID and\/or a QR code. Scanning the QR code, clicking it, or typing the ID into your site's verification page shows whether the credential is valid, revoked, or expired, along with the recipient name, what it was awarded for, and the issue date. No account is needed to verify.<\/p><\/dd>\n<dt id=\"how%20do%20learners%20see%20the%20certificates%20they%20have%20earned%3F\"><h3>How do learners see the certificates they have earned?<\/h3><\/dt>\n<dd><p>Three ways. Each certificate is emailed as a PDF the moment it is issued. Learners can also visit a My Certificates page you create with the included block or <code>[ppcert_my_certificates]<\/code> shortcode, which lists everything they have earned with verify and download links, status filters, and sorting. And every certificate has its own shareable view page with the certificate image and a PDF download.<\/p><\/dd>\n<dt id=\"can%20i%20put%20a%20link%20to%20a%20learner%27s%20certificate%20on%20the%20course%20page%20itself%3F\"><h3>Can I put a link to a learner's certificate on the course page itself?<\/h3><\/dt>\n<dd><p>Yes. Add the Certificate Link block (or the <code>[ppcert_certificate_link]<\/code> shortcode) to a course, lesson, topic, or quiz page, or to any page where you have placed a PressPrimer quiz or assignment with its block or shortcode. Each logged-in learner sees one button that downloads their own certificate for that item (you can point it at the certificate page or the verification page instead), and nothing at all until they have earned it. If the learner has earned it more than once, the newest certificate is linked. Add a message in the block's settings and it appears in a panel with the button, only when the button shows, so you can congratulate the learner and explain the certificate without that text stranding on the page for everyone else. Point the block at a specific quiz, assignment, or post by ID, or at a template, when the page itself is not the source.<\/p><\/dd>\n<dt id=\"can%20a%20verifier%20download%20the%20pdf%20from%20the%20verification%20page%3F\"><h3>Can a verifier download the PDF from the verification page?<\/h3><\/dt>\n<dd><p>Yes. Valid and expired certificates show a Download PDF button on the verification page, so an employer or registrar can keep a copy. Revoked certificates do not offer a download.<\/p><\/dd>\n<dt id=\"what%20happens%20if%20i%20edit%20a%20template%20after%20certificates%20have%20been%20issued%3F\"><h3>What happens if I edit a template after certificates have been issued?<\/h3><\/dt>\n<dd><p>Nothing changes for existing certificates. Each certificate snapshots its design and data at issue time, so a certificate always looks exactly as it did the day it was earned. That includes the display name: a certificate keeps the name it was issued with. Template edits only affect future issuance.<\/p><\/dd>\n<dt id=\"can%20one%20certificate%20template%20cover%20all%20of%20my%20courses%3F\"><h3>Can one certificate template cover all of my courses?<\/h3><\/dt>\n<dd><p>Yes. On a template's Award tab, choose an \"Any\" option instead of a specific course, quiz, or lesson, and that one trigger awards for every item of that type (lessons and topics are scoped to a course you pick). Pair it with a certificate display name like \"{{source.course_title}} Certificate\" and each certificate is named after what earned it in the My Certificates list, on the verification page, and in emails.<\/p><\/dd>\n<dt id=\"can%20a%20merge%20field%20sit%20inside%20a%20sentence%3F\"><h3>Can a merge field sit inside a sentence?<\/h3><\/dt>\n<dd><p>Yes. In any text element, put the cursor where the value belongs and use the Insert Merge Field button. The line centers, wraps, and styles as one piece, so \"Awarded to {{recipient.display_name}} on [date]\" behaves like a single line of text. Merge fields also work in the certificate email's subject and body.<\/p><\/dd>\n<dt id=\"can%20someone%20edit%20a%20certificate%20pdf%20and%20change%20the%20name%3F\"><h3>Can someone edit a certificate PDF and change the name?<\/h3><\/dt>\n<dd><p>Certificate PDFs are generated with AES-256 protection that denies editing, so Acrobat and similar tools refuse to modify the text (unlike plain LMS certificates, which anyone can retype). Printing and text copying remain available. More importantly, every certificate's QR code and credential ID point to the verification page on your site, where the authoritative name, date, and status live. A tampered or fabricated PDF immediately mismatches what a verifier sees.<\/p><\/dd>\n<dt id=\"what%20page%20sizes%20do%20certificates%20use%3F\"><h3>What page sizes do certificates use?<\/h3><\/dt>\n<dd><p>Letter and A4, in landscape or portrait. Every starter design ships in both sizes, and the PDF renders at print quality from the same layout you see on the canvas.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>2.0.0<\/h4>\n\n<ul>\n<li>Added: Suggested privacy policy text under Settings &gt; Privacy &gt; Policy Guide, covering what certificates store and that certificate pages, verification, and PDF downloads are public to anyone with the link or credential ID<\/li>\n<li>Added: Search and filters on the Certificates screen.<\/li>\n<li>Added: Send yourself a test award email from the template editor.<\/li>\n<li>Added: Four Geometric starter templates.<\/li>\n<li>Added: Multi-page certificate rendering.<\/li>\n<li>Added: An Upgrade page under the Certificates menu comparing the free plugin with the new Educator, School, and Enterprise tiers.<\/li>\n<li>Added: Certificate Link block and shortcode.<\/li>\n<li>Added: Download PDF button on the public verification page for valid and expired certificates, so a verifier can keep a copy without an account.<\/li>\n<li>Added: WebP and AVIF images in certificate designs render in PDFs and previews on servers whose image library supports them.<\/li>\n<li>Added: Short upgrade notes for administrators on the Settings Email tab and in the designer.<\/li>\n<li>Added: Public developer API. New <code>ppcert_*()<\/code> functions let other plugins issue certificates, render PDFs, look up a learner's certificate, and build view and download links through a supported, stable surface.<\/li>\n<li>Added: Value-only award trigger support.<\/li>\n<li>Added: Third-party certificate integrations now appear with their proper names everywhere the built-in integrations do, including while their plugin is deactivated.<\/li>\n<li>Added: A duplicate-suppression scoping filter for integrations whose completion events carry per-occurrence references.<\/li>\n<li>Added: Support for Educator, School, and Enterprise add-ons.<\/li>\n<li>Added: Add-ons can scope the Certificates list (its Template and Source filters included), the Dashboard, and certificate actions to an issuing organization (used by School's owner and issuer roles)<\/li>\n<li>Improved: Designer sidebar labels and help icons render at higher contrast.<\/li>\n<li>Improved: Send Test Email on the Email settings tab saves your unsaved changes first, so the test always reflects what is on the page.<\/li>\n<li>Fixed: The verification form's Verify button uses the same button style as the rest of the plugin, and the credential ID field is sized for a credential ID instead of stretching across the page.<\/li>\n<li>Fixed: Themes can no longer underline the plugin's buttons and filter chips.<\/li>\n<li>Fixed: The Valid For controls in the designer's Award tab keep the number readable while its up and down controls are showing.<\/li>\n<li>Fixed: The designer's merge-field meta-key pickers, which read other users' and posts' data, are for administrators only.<\/li>\n<li>Fixed: Custom merge-field groups registered with a sub-field named \"label\", \"key\", or \"resolver\" no longer disappear from the designer palette.<\/li>\n<li>Fixed: The certificate view page's preview image keeps its layout wrapper instead of rendering flush against the details panel.<\/li>\n<li>Fixed: The verification result's status colors appear on the JavaScript-enhanced page as well as the no-JavaScript page.<\/li>\n<li>Fixed: Admin styling loads on every suite screen, including addon pages, so dropdowns keep their intended focus style.<\/li>\n<li>Fixed: The Settings page shows its Save button on addon tabs.<\/li>\n<li>Fixed: When a design uses a font that is unavailable, the designer canvas substitutes the same face the PDF uses, keeping the two identical.<\/li>\n<li>Fixed: Temporary PDF files are removed through the WordPress file API, and uninstall cleanup queries use identifier placeholders throughout.<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Added: Merge fields now work inside text elements. <\/li>\n<li>Added: \"Any\" award options in the trigger picker. One trigger can award for any quiz, any course, or any lesson in a chosen course, so a single certificate covers your whole catalog.<\/li>\n<li>Added: The QR code and credential ID on issued PDFs are now clickable links to the certificate's verification page.<\/li>\n<li>Added: Alignment tools in the designer. Align and distribute selected elements from the toolbar, and matching-margin guides show measurements when two elements sit the same distance from opposite page edges.<\/li>\n<li>Added: Certificate merge fields in the issuance email subject and body, so the email can name the exact course or quiz that was completed.<\/li>\n<li>Added: Certificate display names. Set a display name pattern on the Award tab, like \"{{source.course_title}} Certificate\", and each certificate is named after what earned it in the My Certificates list, on its view and verification pages, in the admin list, and in emails. <\/li>\n<li>Improved: Sample values in the designer's merge field menus render at higher contrast.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release: certificate designer, credential IDs, QR verification, automatic issuance from PressPrimer Quiz, PressPrimer Assignment, LearnDash, LifterLMS, Tutor LMS, and LearnPress, email delivery, and a public verification page.<\/li>\n<\/ul>","raw_excerpt":"Design, issue, and verify certificates on your own site. A drag-and-drop designer, automatic awards from popular LMS plugins, and scannable QR proof.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/ta-lk.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/348748","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ta-lk.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/ta-lk.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/ta-lk.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=348748"}],"author":[{"embeddable":true,"href":"https:\/\/ta-lk.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/pressprimer"}],"wp:attachment":[{"href":"https:\/\/ta-lk.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=348748"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/ta-lk.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=348748"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/ta-lk.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=348748"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/ta-lk.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=348748"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/ta-lk.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=348748"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/ta-lk.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=348748"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}