Unique Certificate ID Generator For LearnDash Certificates

Now possible with the Certificate Tracker for LearnDash plugin

Most professional training providers in the Educational, Medical and Real Estate sectors generate unique numbers on their students certificates. This is required to validate if the student is indeed the student who completed the relevant training. Our certificate tracker will add unique certificate ID’s to both LearnDash Quiz and Course Certificates.


(1 Site, Yearly Licence)

About the Plugin

Plugin Features

The Certificate Tracker for LearnDash plugin supports QR-Code. The QR-Code will store URL to Certificate Verification page along with Certificate ID number. For more information see the addon: Certificate Verifier For LearnDash.

Use Case:
Scanning the QR-Code on printed certificate and opening your site Certificate Verification page where Certificate ID number field will be automatically populated – no need to type anything.

How to install
  1. Download the plugin from your account.
  2. Navigate to Plugins > Add New.
  3. Click the Upload Plugin button at the top of the screen.
  4. Select the zip file from your local filesystem.
  5. Click the Install Now button.
  6. When installation is complete, you’ll see “Plugin installed successfully.” Click the Activate Plugin button at the bottom of the page.
History about the plugin

The original (first) implementation, “Inserted a QR code Shortcodes by Ultimate Shortcodes”. It did expose some issues and had some limitations. It is difficult and time consuming to align the certificate content after inserting QR-Code shortcodes. In addition some shortcode attributes such as size would not take effect. Because the QR-Code is generated at outside server this method may be slow and occasionally the QR-Code would not be generated at all. We have tried our best to solve this.

The second implementation we “inserted as part of certificate content”. This was a replacement for Shortcodes Ultimate, QR code. It does respect the size attribute, it is reliable and faster because it generates a QR-Code using TCPDF library already installed with LearnDash LMS plugin. (no need for connection to external server).

In the most recent implementation our QR Code is “inserted as part of background”. This is the prefered approach as it makes it easier to insert a QR-Code in Certificate page. This method is reliable, fast and efficient. It does not require inserting shortcode and aligning the certificate content afterwards – we found a lot of users have difficulties aligning the content. The QR-Code is simply placed on top of background or ‘featured’ image.


  • Add the following shortcode to your certificate [elc_certificate_id prefix="ELC"]
  • The prefix attribute adds the prefix to the certificate ID number. This parameter is optional. Up To eight alphanumeric characters. No special characters.
  • The certificate ID number is generated and saved in database. when the user attempts to view/print/download the certificate PDF file the 1st time.
  • If the user retakes the course and/or quiz, a new certificate ID will be generated and saved, keeping the previous record intact.
    This is excellent for courses that require periodic “recertification”.
  • The certificate ID(s) will remain stored in database, regardless site administrator decides to “permanently delete the users course data” or changes the completion status in user profile.

Three ways to insert QR-Code in your certificate.
(You should have no problems using either option below)

Insert as part of background (recommended)

This implementation of QR-Code replaces the QR-Code shortcodes. The replacement is not automatic, it means that if you decide to use it you have to remove QR-Code shortcode(s) from certificate content.

The OR-Code element does not alter the layout set in certificate content field. The element is placed on top of background and/or featured image, on the first PDF page. The text entered in certificate content field may overlap the QR-Code in the same manner as it overlaps background.
Therefore, it is solely up to you to you to place the element away from the text, use alignment and position fields.

When using background (featured) image it may be necessary to use background color and padding, see below.

The ELC Certificate QR-Code implementation uses TCPDF library with LearnDash LMS plugin. The QR-Code implementation uses settings (natively) supported by TCPDF library, with exception of ‘Making QR-Code clickable’, see below.

Supported Parameters

Parameter name and descriptionSupported values and formatsDefault value
QR-Code data
URL for certificate verification page.The URL will be appended with certificate ID as query parameter. When QR-Code is scanned it will return full URL to certificate verification page along with the certificate ID. Depending on scanner application it may open the URL in new browser window/tab.
Valid URL Format: full URL.
The site permalink settings do not matter.
e.g.: https://your-site/certificate-verification
Site home page
Make QR-Code clickable
If checked ON the QR-Code will be clickable
when certificate is viewed on desktop or mobile devices. This setting has no effect on printed document. Similar to QR-Code datam when QR-Code is clicked it will open certificate ID verification page with certificate ID (to be verified), in system default browser. The PDF does not implement hyperlink target attribute, therefore the link will be open in the same window/tab.
(not checked)
Width and height of QR-Code in user units.
By default the TCPDF unit is set to millimeters (mm). Suggested optimum size is 20mm. For more information see: https://www.qrcode.com/en/howto/code.html.
Number Format: integer or floating point.
Minimum 7.125mm (300dpi, 4 dots per module, 21 modules)
Uniform (all four sides), measured in QR-Code modules. If QR-Code is placed over graphics it requires background (plain color) and clear space ‘quiet zone’ around it. The required padding is 4 (modules) in such a case.
The module refers to smallest element (black or white square) of the QR-Code. For more information see: https://www.qrcode.com/en/howto/code.html.
Number Format: integer0
Horizontal align
Horizontal alignment left or right. Indicates insertion point relative to the qr-code.
Vertical align
Vertical alignment top or bottom. Indicates insertion point relative to the qr-code.
X position
Horizontal position in user units. By default the TCPDF is set to millimeters (mm). The position is measured from left or right side of document depending on ‘Horizontal align’ setting.
Y position
Vertical position in user units. By default the TCPDF is set to mm (millimeters). The position is measured from top or bottom of document
depending on ‘Vertical align’ setting.
Number Format: integer only.
Minimum value: 0
Foreground colorValid format:
WEB color name, RGB, CMYK, HEX 3 and 6-digit
e.g.: red, rgb(255,0,0), cmyk(0,99,100,0), f00, #ff0000
Background colorSame as foreground colorfalse
Black border (all sides), 1pt line-weight.
(not checked)
Error Correction Level
Advanced use only! Error correction capability to restore data if the code is physically dirty or damaged. For explanation see: QR Code.com, Error correction feature This setting affects only printed copy.
Allowed options are: L (low), M (medium), Q and H (high).L (low)
Insert as part of certificate content (using shortcode)

Sitebuilders can choose to use a shortcode instead of using ELC QR-Code options in LearnDash LMS -> Certificate settings. This eloquently provides for backward compatibility with previously created certificate HTML code. The following shortcode example provides detailed information on the shortcode and its attributes.

Shortcode: example of ELC Certificate QR-Code shortcode with all supported parameters.

[[elc_certificate_qrcode data="http://your_site/" size="120" padding="0" color="#000000" background="#FFFFFF" title="Certificate Verification page" link="true" target="blank" class="my-class" ecl="L"]]

Above example will create QR-Code with: 120×120 size, 0 padding, black foreground, white background, link (QR-Code will be clickable), the link will open new browser window or tab, the QR-Code can be styled using my-class selector, the error correction level set to L (low).

The example uses all available attributes however, it is NOT necessary to use all attributes. You only use attributes that are needed. The shortcode with no attributes [elc_certificate_qrcode] will output the QR-Code as well.

This implementation uses TCPDF library distributed with LearnDash LMS plugin. The QR-Code is generated in SVG format and inserted to the certificate using shortcode.

Difference between this implementation and using ‘Shortcodes Ultimate’, ‘QR-Code’:

  • The size attribute is respected. No need to wrap the shortcode in a html tag to force resize.
  • The QR-Code is generated on your site. There is no lag in waiting for (external) server user by ‘Shortcodes Ultimate’ plugin.

Available Shortcode Attributes

All attributes are optional. We do however suggest to use at least: data and size.

If certificate uses ‘featured image’ and the QR-Code is over part of the colored graphics it will not be readable. In such a case the QR-Code requires plain color background and padding (‘quiet zone’ refer to: https://www.qrcode.com/en/howto/code.html), use background and padding attributes.

Attribute name and descriptionFormat and possible valuesDefault value
QR-Code data and HTML hyperlink tag href attribute
Valid URL to Certificate Verification page.
This data is stored in QR-Code and will be appended with Certificate ID.
e.g.: https://your-site/certificate-verification
Site URL
QR-Code size (width and height) in user units
Decimal number (no fraction).
If NOT specified the QR-Code will have natural size depending on size of data (see above).
e.g.: 100
QR-Code padding (all four sides) in user units
Decimal number (can have fraction)
e.g.: 10 or 9.125
QR-Code foreground color
WEB color name, RGB, CMYK, HEX 3 and 6-digit
e.g.: red, rgb(255,0,0), cmyk(0,99,100,0), f00, #ff0000
QR-Code background color
same as abovenone
HTML image tag alt attribute
Alternative text for the QR-Code.
If QR-Code cannot be displayed and/or if link title if link is true or 1. Works only at certificate preview page, does NOT affect the PDF.
e.g.: Certificate Verification page
HTML create hyperlink tag.
The QR-Code will be clickable when viewed on desktop or mobile device.
Boolean or number (true or false or 0 or 1)
If true or 1, the QR-Code will be clickable when certificate PDF is viewed on screen. The link will include URL to Certificate Verification page with Certificate ID.
e.g.: true, false, 1, 0
HTML hyperlink tag target attribute
blank or self
Specifies where to open the linked Certificate Verification page.
e.g.: blank
Will open the Certificate Verification in a new window or tab.
HTML inline wrapper
Valid CSS class name.
If specified the QR-Code will be wrapped in container that can be styled with CSS..
e.g.: my-class
Error Correction Level
Possible values are L, M, Q or H.
Important for printed QR-Code, affects (slightly) PDF size.
Please read: https://www.qrcode.com/en/about/error_correction.html.
Use Shortcodes Ultimate, QR Code

Insert a Shortcodes Ultimate, QR code (generator). Original (first) implementation. A legacy, but we support it for those who already have it all configured.