Skip to main content

Add Your Courses to WordPress With the Cademy Plugin

Install and connect the Cademy WordPress plugin, show courses with the block or shortcode in Elementor or other builders, and set up course page addresses.

Written by Artur Binzaru

This guide is for course providers and website administrators who want to show Cademy courses on a WordPress website with the Cademy for WordPress plugin. You manage courses in Cademy; the plugin shows them as listings and course pages inside your WordPress theme, the design that controls your website’s appearance.

​

Customers browse the course pages on your website. Normal bookings, enquiries and waitlists take them to Cademy. With External Bookings, supported booking actions open your external website instead; see Send Customers to an External Booking Website.

​


​

What the Cademy WordPress Plugin Does (Cademy for WordPress)

  • Courses published for your minisite and embeds get their own page on your domain, inside your theme’s header, navigation and footer.

  • You add listings with the Cademy Courses block or the [cademy_courses] shortcode, with no coding, in Grid, Rows, Dated Rows or Date Cards, with search, filters and page links.

  • Course information is fetched from Cademy and stored temporarily on WordPress (a cache). No iframe or helper script is needed.

​


​

WordPress Plugin or Standard Website Embed: Which to Use

The Standard Website Embed places Cademy content inside an existing page on almost any website, including WordPress. It is free and includes a Calendar layout. Cademy for WordPress gives each course its own page on your domain inside your WordPress theme, and is included on Teams. To compare them, see Choose Between Your Minisite and Your Own Website. For the embed, see Embed Courses or Forms on Your Website.

​


​

What You Need Before Installing the Cademy WordPress Plugin

  • Cademy System Admin access.

  • The Teams plan, which includes WordPress and API key access. With an Enterprise contract, check that it includes both. See What Each Cademy Plan Includes and Costs.

  • WordPress 6.4 or later, PHP 7.4 or later, and WordPress access to upload plugins and change Settings.

  • Courses published for your minisite and embeds, set to Public in Cademy. A Private or Unpublished course is left out of WordPress listings, and its course address shows your website’s page-not-found screen.

One website per account: Cademy stores one WordPress website setting for the account. Saving a connection from a second website can replace the first. Contact Cademy Support before connecting another website.

​


​

Download and Install the Cademy WordPress Plugin

The plugin is not in the WordPress plugin directory. Download it from Cademy.

  1. In Cademy Admin, open Apps, then Cademy for WordPress.

  2. Select Download Plugin and keep the ZIP file. Do not unzip it.

  3. In your WordPress dashboard, under Plugins, open the option to add a plugin, labelled Add Plugin, Add New or Add New Plugin, then select Upload Plugin.

  4. Choose the ZIP, select Install Now, then Activate Plugin. Check that the plugin is active in the Plugins list.

In WordPress.com’s default dashboard, open Plugins and select Upload. If uploading is unavailable, ask your website administrator or host.

​

Older screenshot: Download Plugin in the Cademy for WordPress app. The key list does not confirm a working website connection.

Older screenshot: Download Plugin in the Cademy for WordPress app.

​

Older WordPress screenshot: the Add Plugin entry and Upload Plugin button. Labels differ between WordPress interfaces.

Older WordPress screenshot: the Add Plugin entry and Upload Plugin button. Labels differ between WordPress interfaces.

​


​

Connect WordPress to Cademy: Find Your Site Slug and API Key

The site slug identifies your Cademy account. The API key is a private credential; keep it secret. See Create and Manage API Keys.

  1. In Cademy Admin, open Apps > Cademy for WordPress and copy Your Cademy site slug.

  2. In another browser tab, open WordPress Settings > Cademy and paste it into Cademy Site Slug. Keep this page open.

  3. Back in Cademy, under Your API key, select Create API Key. Enter a website name under Which website is this key for?, then select Create Key.

  4. In Your New API Key, select Copy Key. The full key is shown only once, so keep the dialog open.

  5. Paste the key into API key in WordPress. Check Site URL, the website’s public address, and keep Courses base path as /courses.

  6. Select Save & Sync.

  7. Read the message at the top of the page. A working connection shows a message that begins “Settings saved and synced” and ends “your courses are ready to display.”

  8. In Cademy, select I've Pasted It Into WordPress to close the dialog.

If the message says syncing failed, check the slug, key and Site URL, then select Save & Sync again. If it says the connection check failed, contact Cademy Support with the message.

​

Older screenshot: Create API Key in Cademy. The full new key dialog is not shown.

Older screenshot: Create API Key in Cademy.

​

The window Your New API Key over the Cademy for WordPress panel: the warning Copy your key now, a made-up example key of 64 characters with a copy icon, and the buttons Copy Key and I've Pasted It Into WordPress; the two buttons are outlined together.

The Your New API Key dialog in Cademy, with Copy Key and I've Pasted It Into WordPress.

​

The WordPress settings page Cademy - Course Bookings, Training Management and LMS, with Settings, then Cademy selected in the side menu: at the top the green message Settings saved and synced, connection verified, your courses are ready to display, above the filled-in fields Cademy Site Slug, API key, Site URL and Courses base path; the message is outlined.

Settings > Cademy in WordPress after Save & Sync, showing the connection verified message.

​


​

Add a Course Listing to a WordPress Page (Cademy Courses Block)

Installing and connecting the plugin does not put a listing on any page. You add it to a page yourself.

  1. In WordPress, open Pages and edit or create the page for the listing.

  2. Select the block inserter’s plus button, search for Cademy, then select Cademy Courses.

  3. Select the block and open Block settings in the right sidebar. Choose Listing Options, Search & Filters and Card Details as described below.

  4. Publish or update the page.

  5. Open the public page, also on a phone, and check the courses and a course page.

If you use Elementor, Beaver Builder or another page builder, use the shortcode instead (see below).

​

Older WordPress screenshot: search for Cademy in the block inserter and choose Cademy Courses.

Older WordPress screenshot: search for Cademy in the block inserter and choose Cademy Courses.

​

Choose the Listing Layout, Dates and Collection (Listing Options)

  • Layout: Grid, Rows, Dated Rows or Date Cards.

  • Dates: All Courses or Upcoming Only.

  • Collection: All Collections or one collection. If names cannot load, the block shows Collection ID; check the connection first.

  • Collections at the Top: with All Collections, choose Auto, Grid, Carousel or Hidden.

  • Checkout on Date Click: on Dated Rows and Date Cards, selecting an available date opens its booking destination directly. Sold-out dates keep their waitlist or course-detail behaviour.

Grid and Rows hide the search and filter area when six or fewer courses show and no search or filter is active; dated layouts do not.

​

The WordPress page editor with a Cademy Courses block selected and the Block tab of the settings sidebar open: Listing Options with Layout Grid, Dates All Courses, Collection All Collections, Collections at the Top Auto and Checkout on Date Click off; Search and Filters, Card Details and Advanced closed below. The Block tab and the Listing Options heading are outlined.

Listing Options in the Block tab of a selected Cademy Courses block.

​

Choose the Search Bar and Filters Visitors See (Search & Filters)

The choices are Search Bar, Delivery, Location, Collection, Category, Tags, Level and CPD, all selected by default. Turn off Search Bar and clear every filter to hide the controls; if the address still contains a search or filter, Clear Filters remains. Save the page after changing them.

​

Location, Collection, Category and Tags show only when courses have that information. With one collection selected under Listing Options, the Collection filter is hidden. The CPD filter needs CPD on your plan (Pro, Teams or Enterprise) and Enable CPD under Settings > CPD in Cademy. For CPD setup, labels and the visitor filter, see Set Up and Award CPD Points or Hours.

​

The Block tab of the settings sidebar for a selected Cademy Courses block, Search and Filters open: Search Bar on and Delivery, Location, Collection, Category, Tags, Level and CPD ticked, with the line Filters without matching courses stay hidden automatically. The Search and Filters heading and the CPD checkbox are outlined.

Search & Filters in the Block tab, with every filter selected.

​

Choose What Course Cards Show (Card Details)

The choices are Dates, Delivery & Location, Price, Rating, Duration, Level, Category, Tags and CPD. Dates, Delivery & Location, Price and Rating are selected by default; CPD is off by default.

​

  • Details without data stay hidden. Price or Rating also stays hidden when pricing or reviews are hidden in your Cademy account settings.

  • Rating is not shown on Rows or Dated Rows. On Dated Rows and Date Cards, the large date always shows; Dates controls only the smaller date and time.

  • Clearing every choice keeps the course image, name and sold-out badges.

The Block tab of the settings sidebar for a selected Cademy Courses block, scrolled down: the end of Search and Filters, then Card Details open with Dates, Delivery and Location, Price, Rating and CPD ticked and Duration, Level, Category and Tags not ticked, the line Details without data stay hidden automatically, and Advanced closed. The CPD checkbox of Card Details is outlined.

Card Details in the Block tab. CPD is off by default and was selected for this example.

​


​

Add Courses in Elementor, Beaver Builder or Other Page Builders ([cademy_courses] Shortcode)

The Cademy Courses block belongs to the standard WordPress block editor. It does not appear as an Elementor widget, a Beaver Builder module or in other page builders. In those, add the [cademy_courses] shortcode in an element that accepts shortcodes. WordPress replaces it with the listing when the page is viewed. You can also use it in a WordPress Shortcode block.

​

Add the Shortcode in Elementor

  1. Edit the page with Elementor.

  2. Select + to show the widgets, then click or drag the Shortcode widget onto the page.

  3. Under Content > Shortcode, enter [cademy_courses], with any options inside the brackets (see the examples below).

  4. Publish or update the page, then check its public address.

Options are typed into the shortcode. In Beaver Builder or another builder, use its shortcode or text element in the same way.

​

What the Basic [cademy_courses] Shortcode Shows

With no options, the listing uses the layout under Settings > Cademy > Default listing layout (Grid by default), all courses, all collections shown automatically, the search bar and all filters, and Dates, Delivery & Location, Price and Rating on cards. Selecting a date opens the course as normal, not checkout.

​

Shortcode Options for Layout, Dates, Filters and Card Details

Add options after cademy_courses, separated by spaces, with each value in quotation marks. Use commas only to list several filters or card details.

Option

What it controls

Values

layout

Listing layout

grid, rows, dated_rows, dated_cards

date_filter

All courses or only upcoming ones

all, upcoming

collection

Limits the listing to one collection

The collection ID

collections

How collections show above an unlimited listing

auto, grid, carousel, hidden

checkout_on_date_click

Dated Rows or Date Cards open the booking destination directly

true, false

show_search_bar

Whether visitors see the search bar

true, false

filters

Which filters visitors can use; none hides them all

delivery, location, collection, category, tags, level, cpd, none

card_details

What cards show; none hides every optional detail

dates, delivery, price, rating, duration, level, category, tags, cpd, none

​

Leave the advanced Course Link Path (course_link_path) empty unless your website administrator has prepared pages at that path.

​

[cademy_courses] Shortcode Examples

  • Upcoming courses as Date Cards: [cademy_courses layout="dated_cards" date_filter="upcoming"]

  • Selected filters only: [cademy_courses filters="delivery,location,level,cpd"]

  • No search bar or filters: [cademy_courses show_search_bar="false" filters="none"]

  • One collection: [cademy_courses collection="COLLECTION_ID"]. Replace COLLECTION_ID with the collection’s ID, not its name. Without the ID, use the block’s Collection picker.

​


​

Installed the WordPress Plugin but Nothing Shows on Your Website

  • No listing on the page: the plugin does not add one by itself, not even at /courses. Add the Cademy Courses block or [cademy_courses] shortcode to a page and publish it.

  • Connection not working: open Settings > Cademy, select Save & Sync and read the message. You need the connection verified message.

  • Courses missing from the listing: check that they are set to Public in Cademy, and the block’s Dates, Collection and filter choices.

  • The text [cademy_courses] shows on the page: the element you used does not run shortcodes. Use a Shortcode block or your builder’s shortcode element.

Courses Not Showing on Your Website, or a Grey or Blank Box

Open the public page while signed in to WordPress with an account that can edit pages. If the listing says “Courses are temporarily unavailable.”, the reason appears below it, followed by “(Only editors see this message.)”. Visitors see only the first line.

  • “The Cademy plugin is not configured yet.” means the site slug or API key is missing. Complete the connection steps above.

  • For another reason, check the connection with Save & Sync, then contact Cademy Support with the message.

If there is no message and the area is grey or blank, or it looks wrong only on a phone, check whether the page uses the Standard Website Embed code instead of the plugin (see Embed Courses or Forms on Your Website). Otherwise, send Cademy Support the page address and a screenshot.

​

WordPress Plugin Courses Block Not Working With Beaver Builder or Another Page Builder

The Cademy Courses block is a WordPress block-editor block, not a Beaver Builder module or Elementor widget, so it does not appear or work in those builders. Use the [cademy_courses] shortcode in the builder’s shortcode or text element, as described above.

​


​

Get WordPress Course Pages Found in Search Engines Like Google (SEO)

Each course page the plugin shows on your domain has:

  • A title and meta description, the short description supplied to search engines.

  • A canonical URL, the preferred address for the page, based on the Site URL saved when you connected.

  • Structured course data in a format search engines can read.

Plain listing pages, including page 2, 3 and so on, can be indexed, each with its own address. Searched or filtered listings, and pages past the last one, ask search engines not to index them. With Yoast SEO or Rank Math active, the plugin passes its description, canonical and social tags through that plugin, so each appears once.

​

None of this guarantees indexing or a ranking. Your theme, SEO plugins and website settings also affect the page.

​

Does the Cademy WordPress Plugin Create a Sitemap for Course Pages?

Yes, from plugin version 1.0.6. The plugin publishes a sitemap of its course pages at /cademy-pages-sitemap.xml on your website, for example https://your-amazing-website.com/cademy-pages-sitemap.xml. It lists it in your website’s robots.txt and in the Yoast SEO or Rank Math sitemap index, or in WordPress’s own sitemap (wp-sitemap.xml) when no SEO plugin replaces it.

​

The sitemap works only when the plugin is connected and WordPress does not discourage search engines (Settings > Reading > Search engine visibility left unticked). To get it, update the plugin as described in “Course Changes, Plugin Updates and Disconnecting the WordPress Plugin” below.

​


​

Course Page Settings in WordPress (Settings > Cademy)

Course pages are at /courses/{course-slug} by default; the slug is the course’s address name. Under Settings > Cademy you can change:

  • Site URL: detected automatically. Change it only if the website uses a different public address.

  • Courses base path: the first part of every course page address.

  • Course page template: the theme template for course pages. The default is Theme default.

  • Default listing layout: used by [cademy_courses] when no layout is given.

Leave Advanced Settings, such as Cache TTL (seconds), at their defaults. After any change, select Save & Sync, read the message and check the public pages.

​


​

Change the Course Page Address (Courses Base Path)

Courses base path is the shared part of the address before every course slug. For most websites, keep /courses.

​

Is Courses Base Path Mandatory?

No. A blank field uses /courses; it never puts course pages at your main website address.

​

What to Enter in Courses Base Path

Enter only the path, not the full website address (that belongs in Site URL) or a course slug; the plugin adds each slug. For a course with the slug first-aid-at-work:

What Appears at the Courses Base Path Page Itself

The page at /courses, or your chosen path, is a normal WordPress page. The plugin does not add a listing to it. To show courses there, edit or create that page, add the Cademy Courses block or [cademy_courses], and publish it.

​

Change the Courses Base Path Later

In WordPress, open Settings > Cademy, change Courses base path and select Save & Sync. Every course address changes and old ones stop working, so add redirects in WordPress for old addresses that were shared or indexed.

​

Older WordPress screenshot: Courses base path under Settings, then Cademy. Page No Title is this example’s selected template, not the default. Save and Sync is below the visible area.

Older WordPress screenshot: Courses base path under Settings > Cademy. Page No Title is an example template, not the default.

​


​

WordPress Plugin Performance, Privacy and Caching

  • Course content is requested through your WordPress server, without Cademy browser scripts.

  • The plugin does not set Cademy cookies for browsing. Search terms, selected filters and page numbers can be sent to Cademy when WordPress requests results. Your theme and other plugins have their own data behaviour.

  • Normal booking actions open Cademy checkout in the same tab; External Bookings opens a new tab.

  • WordPress keeps cached course content. An earlier copy can stay visible when a fresh request fails. Without a usable copy, a listing shows “Courses are temporarily unavailable.” and a course page can show your page-not-found screen, which alone does not mean the course was deleted.

​


​

Course Changes, Plugin Updates and Disconnecting the WordPress Plugin

Edit courses in Cademy; changes are sent to the website, but caches and search indexing affect when visitors see them. After an important change, check the public page.

​

For plugin updates, check WordPress Plugins or Dashboard > Updates, or use WordPress auto-updates if your website administrator allows them. Settings are kept; check the connection and public pages afterwards.

​

To stop a website using a key, revoke it in Cademy. Revoking cannot be undone. WordPress keys are also listed under Settings > API Keys, with names starting “WordPress”; see Create and Manage API Keys.

  1. In Cademy Admin, open Apps > Cademy for WordPress.

  2. Under Connected websites, find the key for the website and select Revoke API Key.

  3. Read the confirmation, then select Revoke.

Cached pages can stay visible for a while. Revoking does not remove the plugin or its pages. To reconnect, create a new key and repeat the connection steps.

​

A plan change does not revoke keys, and without the API keys feature Connected websites is hidden. Revoke unneeded keys before changing plan, or ask Cademy Support afterwards.

​


​

Get Help With a WordPress Plugin Connection or Display Problem

Contact support@cademy.io or use the chat in Cademy Admin. Include the public website address, the plugin version, the exact Save & Sync message and whether the problem affects the listing, a course page or both. Do not send the API key.

​


​

Frequently Asked Questions

Do I need to recreate my courses in WordPress?
No. Manage courses in Cademy. The plugin shows them on WordPress; it does not create an editable WordPress page for each course.

​

Does each WordPress website need its own API key?
Use a separate key for each website. Cademy still stores one WordPress website setting for the account, and a second website’s sync can replace it, so contact Cademy Support before connecting another website.

​

What if I close Your New API Key before copying the key?
The full key cannot be shown again. Create a new one with Create API Key, revoke the unused one under Connected websites, then paste the new key into WordPress and select Save & Sync.

​

Does the plugin add Cademy tracking or send visitor data to Cademy?
It does not add Cademy’s interactive scripts or set Cademy cookies for browsing. Search and filter values can reach Cademy through your WordPress server when it requests results, so this is not a promise that no visitor data reaches Cademy.

Did this answer your question?