Cademy for WordPress creates real course pages on your own WordPress website. The pages sit inside your WordPress theme, use your website's header, navigation, footer, and fonts, and can appear in search results on your domain.
You continue managing course information in Cademy. It stays up to date on WordPress automatically, while checkout, enquiries, and waitlists continue to be handled securely by Cademy.
Why choose Cademy for WordPress?
Every published course gets its own page on your WordPress website automatically
Course pages fit inside your WordPress theme
Individual course pages can appear in search results on your own domain
Add course listings with the Cademy Courses block or
[cademy_courses]shortcodeSearch, filters, and pagination work automatically on course listings
Choose Grid, Rows, Dated Rows, or Date Cards for each listing
Course changes made in Cademy usually appear on WordPress within seconds
No iframe or helper script is needed
No Cademy JavaScript or Cademy cookies are added while visitors browse your WordPress course pages
Previously loaded course pages can continue using a cached copy if Cademy is temporarily unavailable
SEO benefits
Cademy for WordPress creates a separate, search-friendly page on your domain for every published course. Search engines can read the full course content directly from the page.
Each course page includes its own page title and meta description
A canonical URL identifies the main address for the course page
Structured course data helps search engines understand that the page describes a course
Filtered, searched, and paginated listing pages are kept out of search results to reduce duplicate pages
When Cademy for WordPress is connected, Cademy identifies the WordPress course page as the main version for search engines
These features give each course a strong technical foundation for search visibility. They do not guarantee a particular search position or ranking.
Choose the best WordPress option
There are two good ways to add Cademy courses to WordPress. The Standard Website Embed is the quicker free option and includes Calendar. Cademy for WordPress is designed for separate course pages on your domain, a WordPress-native appearance, and stronger course-level SEO.
Feature | Standard Website Embed | Cademy for WordPress |
Best for | Quickly adding courses to almost any website | Creating a native WordPress course experience with separate course pages |
Website support | WordPress, Wix, Squarespace, and most websites that accept custom embed code | WordPress 6.4 or later, with PHP 7.4 or later |
Setup | Choose the instructions for your website platform and copy the supplied code | Install the plugin and connect it to Cademy once |
Appearance | Cademy layouts using your Cademy brand colour | Course pages inside your WordPress theme, using its header, navigation, footer, and fonts |
Showing courses | Show multiple courses, a collection, or a single course | Every published course gets its own page; add listings using the Cademy Courses block or shortcode |
Course browsing | Course browsing happens inside the embedded Cademy experience | Search, filters, and pagination are part of the WordPress listing page |
Customer journey | Customers can browse and complete checkout inside the embed on your website | Customers browse native WordPress pages, then bookings, enquiries, and waitlists are completed securely on Cademy |
SEO and search visibility | Your existing website page can appear in search results while the course content is displayed inside the embed | Each course has its own search-friendly page on your domain, with SEO information and structured course data |
Course listing layouts | Grid, Rows, Dates List, Date Cards, and Calendar | Grid, Rows, Dated Rows, and Date Cards |
Course updates | Updates automatically when you change courses in Cademy | Updates automatically when you change courses in Cademy |
Availability | Free | Teams plan |
If the Standard Website Embed is the best fit, follow the Standard Website Embed guide. Continue below to install Cademy for WordPress.
Before you start
You need:
A Cademy Teams plan
A WordPress website running WordPress 6.4 or later
PHP 7.4 or later on the WordPress website
Administrator access to WordPress
Important: Download Cademy for WordPress from Apps > Cademy for WordPress in Cademy. It is not installed from the WordPress plugin directory.
1. Download and install the plugin
In Cademy, go to Apps > Cademy for WordPress.
Click Download Plugin. This downloads a ZIP file.
In WordPress, go to Plugins > Add New > Upload Plugin.
Select the ZIP file, click Install Now, then click Activate Plugin.
2. Connect WordPress to Cademy
Return to Apps > Cademy for WordPress in Cademy.
Copy the value under Your Cademy site slug.
Under Your API key, click Create API Key.
In Create an API Key, enter a name under Which website is this key for?, then click Create Key.
In Your New API Key, click Copy Key. Copy it before closing the window because the complete key is shown only once.
In WordPress, go to Settings > Cademy.
Paste the site slug into Cademy Site Slug and the key into API key.
Check that Site URL shows the correct public WordPress address, then click Save & Sync.
When the connection succeeds, WordPress shows: Settings saved and synced - connection verified, your courses are ready to display.
Use one API key per website. Each website you connect needs its own key. This makes it clear which website is connected and lets you disconnect one website without affecting another.
3. Add a course listing
Edit the WordPress page where the course listing should appear.
Add the Cademy Courses block.
Open the Block settings in the right sidebar.
Choose the settings described below, then publish or update the page.
Listing Options
Layout - choose Grid, Rows, Dated Rows, or Date Cards.
Dates - choose All Courses or Upcoming Only.
Collection - choose All Collections or one collection.
Collections at the Top - when All Collections is selected, choose Auto, Grid, Carousel, or Hidden.
Checkout on Date Click - sends visitors straight to checkout when they pick a date.
Visitors can use the search bar and filters selected under Search & Filters. Pagination appears when the listing has more results. Their selected search, filters, and page remain in the address, so they can reload or share the same results.
You can also add the [cademy_courses] shortcode instead of the Cademy Courses block. See Using the [cademy_courses] shortcode below for every option, examples, and Elementor instructions.
Search & Filters
Open Search & Filters in the Block settings to choose which tools visitors can use to narrow down the courses in the listing.
Search Bar
Delivery
Location
Collection
Category
Tags
Level
CPD - available on Pro, Teams and Custom when CPD is enabled under Settings > CPD
The Search Bar and every WordPress filter are shown by default. Turn off Search Bar and clear every filter checkbox to show only the course listing.
Most filters stay hidden when no matching course information exists. If one collection is selected under Listing Options > Collection, Collection is not shown because the listing is already limited to that collection.
For an eligible Pro, Teams or Custom account with CPD enabled under Settings > CPD, Search & Filters also includes CPD. It is selected by default. Clear CPD when the visitor filter should be hidden.
The visitor filter uses the organisation's saved labels. Visitors can open it, select Awards CPD, optionally enter Minimum CPD points or Minimum CPD hours, then select Apply. Decimal minimum values such as 0.5 are supported.
After Apply is selected, the current WordPress course list updates to show only matching courses. The page address includes cpd=awarded, so the complete address can be copied and shared. The CPD filter can appear even when no published course currently awards CPD.
If the block is limited to selected filters, keep CPD selected. With [cademy_courses], include cpd in the filters option or omit that option to use the default filter set.
For CPD setup, custom labels and troubleshooting, see Set Up and Award CPD Points and Hours.
Card Details
Open Card Details in the Block settings to choose which information appears on course cards.
Dates
Delivery & Location
Price
Rating
Duration
Level
Category
Tags
CPD - available on Pro, Teams and Custom when CPD is enabled under Settings > CPD
Dates, Delivery & Location, Price, and Rating are selected by default.
CPD is off by default. Select it to show the course's CPD points, hours or both on its card. Courses without CPD do not show an empty badge.
Details without data stay hidden automatically. Price or Rating also remains hidden when pricing or reviews are hidden in the course provider's Cademy account settings.
With Dated Rows and Date Cards, the large date area always remains. Dates controls only the smaller date and time detail. Rating is not shown on Rows or Dated Rows, even when it is selected.
Clearing every Card Details checkbox leaves the course image and course name. The large date area remains on dated layouts.
Using the [cademy_courses] shortcode
The [cademy_courses] shortcode adds a Cademy course listing wherever the shortcode is placed on a WordPress page. WordPress replaces the shortcode with the current course listing when the page is viewed.
The shortcode supports the same course listing options as the Cademy Courses block. It is useful when you use Elementor or another page builder, or when you prefer to use a WordPress Shortcode block.
Add the shortcode in Elementor
The Cademy Courses block is available in the standard WordPress block editor. It does not appear as a native Elementor widget.
Edit the page with Elementor.
Add Elementor's Shortcode widget to the page.
Under Content > Shortcode, enter
[cademy_courses].Add any optional settings inside the square brackets, as shown in the examples below.
Publish or update the page, then preview it.
Elementor shows a shortcode text box rather than the Cademy menus and checkboxes. Add listing options by typing them inside the shortcode.
What the basic shortcode shows
If you enter only [cademy_courses], the listing uses:
The layout selected under Settings > Cademy > Default listing layout. The default is Grid.
All courses, rather than only upcoming courses.
All collections, with their display chosen automatically.
The search bar and all available filters.
Dates, Delivery & Location, Price, and Rating on course cards.
The normal course date link, rather than sending visitors directly to checkout.
Filters and card details without matching course information remain hidden automatically.
Available shortcode options
Add options after cademy_courses, with a space between each option. Put each value inside quotation marks. Use commas only when listing several filters or card details.
Option | What it controls | Available values |
| The course listing layout. |
|
| Whether to show all courses or only courses with upcoming dates. |
|
| Limits the listing to one collection. | The collection ID |
| How collections appear above a listing that is not limited to one collection. |
|
| Whether selecting a date sends the visitor directly to checkout. |
|
| Whether visitors see the search bar. |
|
| Which filters visitors can use. Separate several values with commas. Use |
|
| Which information appears on course cards. Separate several values with commas. Use |
|
When collection is used, the listing is already limited to that collection, so the collection filter and collections area are not needed.
Shortcode examples
Use the default options
[cademy_courses]
Show upcoming courses as Date Cards
[cademy_courses layout="dated_cards" date_filter="upcoming"]
Show collections in a carousel
[cademy_courses collections="carousel"]
Show only selected filters
[cademy_courses filters="delivery,location,level,cpd"]
Hide the search bar and every filter
[cademy_courses show_search_bar="false" filters="none"]
Choose which details appear on course cards
[cademy_courses card_details="dates,delivery,price,duration,level,cpd"]
Show one collection
[cademy_courses collection="COLLECTION_ID"]
Replace COLLECTION_ID with the ID of the collection to show.
Combine several options
[cademy_courses layout="grid" date_filter="upcoming" collections="carousel" filters="delivery,location,level,cpd" show_search_bar="true" card_details="dates,delivery,price,cpd" checkout_on_date_click="true"]
Course pages and settings
Every published course automatically gets its own WordPress page. The default address is /courses/{course-slug}.
The page at /courses/ remains a normal WordPress page. To show a course listing there, edit that page and add the Cademy Courses block or [cademy_courses] shortcode.
Under Settings > Cademy, you can change:
Site URL - detected automatically. Change it only if the website uses a different public address.
Courses base path - controls the first part of every course page address.
Course page template - choose the WordPress theme template used by course pages. The default is Theme default.
Default listing layout - used by
[cademy_courses]when a layout has not been specified.
Advanced Settings normally does not need to be changed.
Courses base path
Courses base path is the shared part of the website address that appears before every course's unique course slug.
For most websites, keep the default value /courses.
Is Courses base path mandatory?
No custom value is required. If the field is left blank and Save & Sync is clicked, Cademy for WordPress automatically uses /courses.
The plugin always uses a base path, so leaving the field blank does not place course pages directly at the main website address.
What should I enter?
Enter only the path that should appear after the website address. Do not enter the complete website address or an individual course slug.
/courses- recommended for most websites/training- useful if the website calls its course area Training/training/courses- useful if course pages should sit inside a larger Training section
Examples:
Courses base path | Course slug | Course page address |
|
|
|
|
|
|
|
|
|
What appears at the base path itself?
The page at /courses, or the custom base path selected, remains a normal WordPress page. Cademy for WordPress does not automatically add a course listing to that page.
To show a course listing there, edit or create that WordPress page and add the Cademy Courses block or [cademy_courses] shortcode. Individual course pages are created automatically underneath it.
Can I change Courses base path later?
Yes, but changing it changes the address of every WordPress course page. The old course addresses stop matching after the new path is saved.
If the old addresses have already been shared, linked, or indexed by search engines, add redirects from the old addresses to the new addresses in WordPress.
Performance, privacy, and reliability
Course listings and course pages are created as server-rendered WordPress content, so visitors and search engines can read the page without Cademy JavaScript.
The plugin sets no Cademy cookies and sends no visitor data to Cademy while a visitor browses the WordPress course pages.
When a visitor chooses to book, enquire, or join a waitlist, they continue securely on Cademy.
Course pages are cached on WordPress. If Cademy is temporarily unavailable, a previously loaded page can continue showing its cached copy.
If no cached copy exists, courses may temporarily show as unavailable until the connection recovers.
Course changes, plugin updates, and disconnecting
Course changes made in Cademy update on WordPress automatically, usually within seconds.
Plugin updates appear in the normal WordPress Plugins and Dashboard > Updates screens. Updating the plugin keeps its existing settings and Cademy connection.
To disconnect a website, go to Apps > Cademy for WordPress in Cademy. Under Connected websites, use Revoke API Key for that website and confirm Revoke.
After revoking the key, its course pages keep working briefly, then stop updating and show courses as unavailable. You can reconnect the website with a new key.
Frequently asked questions
Can I use Cademy for WordPress with Elementor?
Yes. The Cademy Courses block is available in the standard WordPress block editor rather than as a native Elementor widget. In Elementor, add the Shortcode widget and enter [cademy_courses]. Add any listing options inside the shortcode.
Does the [cademy_courses] shortcode include all the block's listing options?
Yes. You can choose the layout, dates, collection, collections display, direct checkout behaviour, search bar, filters, and card details. The block provides visual controls, while shortcode options are typed inside the square brackets.
Do I need to recreate my courses in WordPress?
No. Continue managing courses in Cademy. Cademy for WordPress shows them on your WordPress website automatically.
Do I need to know how to code?
No. You need administrator access to install the plugin and connect it under Settings > Cademy. You can then add the Cademy Courses block or paste [cademy_courses] into a shortcode field.
Can I install it from the WordPress plugin directory?
No. In Cademy, go to Apps > Cademy for WordPress and click Download Plugin. Upload that ZIP file under Plugins > Add New > Upload Plugin.
Where do I find my Cademy site slug and API key?
In Cademy, go to Apps > Cademy for WordPress. Copy Your Cademy site slug, then click Create API Key.
Does each WordPress website need its own API key?
Yes. Create a separate API key for every website you connect.
What if I close Your New API Key before copying the key?
The complete key cannot be shown again. Click Create API Key to create a replacement, then use Revoke API Key under Connected websites for the unused key.
Why are courses not automatically showing on my main courses page?
The page at your Courses base path remains a normal WordPress page. Edit it and add the Cademy Courses block or [cademy_courses] shortcode.
Will course changes appear automatically?
Yes. Changes made in Cademy update on WordPress automatically, usually within seconds.
Does the plugin add Cademy tracking or send visitor data to Cademy?
Not while visitors browse the WordPress course pages. The plugin adds no Cademy JavaScript, sets no Cademy cookies, and sends no visitor data to Cademy. Visitors move to Cademy only when they choose to book, enquire, or join a waitlist.
Where do customers complete bookings, enquiries, and waitlists?
They are normally completed securely on Cademy. When a course uses External Bookings, supported booking actions open the configured external website instead. Contact Us and Cademy waitlists continue to open in Cademy. See Send Course Bookings to an External Website.
Can I change the course page address?
Yes. In WordPress, go to Settings > Cademy and change Courses base path.
What happens when a course is unpublished or the address is wrong?
An unpublished or unknown course page shows your website's normal page-not-found screen.
How are plugin updates installed?
Updates appear under Plugins and Dashboard > Updates. You can also enable WordPress auto-updates. Existing settings and the Cademy connection are kept when the plugin updates.
How does Cademy for WordPress help with SEO?
Each published course gets a separate page on your domain. The page includes a title, meta description, canonical URL, and structured course data. Cademy identifies the WordPress page as the main version, and filtered or paginated listing pages are kept out of search results to reduce duplicate pages. These features support discoverability but do not guarantee a particular ranking.
Where do I choose which filters and card details appear?
For the Cademy Courses block, open the Block settings in the right sidebar and use Search & Filters and Card Details. For [cademy_courses], use the filters, show_search_bar, and card_details options described above.
Can I remove the complete search and filter area?
Yes. In the Cademy Courses block, open Search & Filters, turn off Search Bar, and clear every filter checkbox. With the shortcode, use [cademy_courses show_search_bar="false" filters="none"].
Why is Collection missing from Search & Filters?
Collection is not shown when one collection is selected under Listing Options > Collection. The listing is already limited to that collection.
Why is a selected filter or card detail not visible?
Most filters and card details appear only when matching course information is available. The CPD filter is an exception and can appear even when no published course currently awards CPD. A selected CPD card detail remains hidden on a course without CPD points or hours. Price and Rating also remain hidden when pricing or reviews are hidden in the course provider's Cademy account settings.
Why is Rating not appearing on Rows or Dated Rows?
Rating is not shown on Rows or Dated Rows, even when it is selected under Card Details.
What happens if I clear every Card Details checkbox?
The card keeps the course image and course name. On Dated Rows and Date Cards, the large date area also remains.
What should I enter under Courses base path?
For most websites, keep /courses. Choose a different path only when course pages should use another section of the website, such as /training or /training/courses.
Is Courses base path mandatory?
No custom value is required. If the field is blank when Save & Sync is clicked, Cademy for WordPress automatically uses /courses.
Can I leave Courses base path blank to remove it from course URLs?
No. A blank value uses /courses. Every WordPress course page must have a base path before its course slug.
Should I enter my complete website address?
No. Enter only the path, such as /courses. Do not enter a complete address such as https://your-amazing-website.com/courses.
Do I need to add each course slug?
No. Enter the shared base path only. Cademy for WordPress adds each course's slug automatically.
Does the page at /courses automatically show all courses?
No. It remains a normal WordPress page. Edit or create that page and add the Cademy Courses block or [cademy_courses] shortcode to show a listing.
Can I change Courses base path later?
Yes, but every WordPress course page receives a new address. Add redirects from the old addresses if they have already been shared, linked, or indexed by search engines.
How do visitors filter WordPress courses that award CPD?
Open the CPD filter, select Awards CPD, optionally enter minimum points or hours, then select Apply. The course list updates on the current page, and the address includes cpd=awarded so the same result can be shared.
Why is the CPD filter missing?
It requires Pro, Teams or Custom and CPD must be enabled under Settings > CPD. In the Cademy Courses block, open Search & Filters and select CPD. With [cademy_courses], include cpd in the filters option or omit that option to use the default filter set.
Need help
Message us using the chat in your Cademy dashboard or email support@cademy.io.







