The visitors who visit your website through navigational query would come across such a beautiful WordPress countdown plugin and will not feel bored.is a comprehensive WordPress LMS Plugin for WordPress. This is one of the best WordPress LMS Plugins which can be used to easily create & sell courses online. You can create a course curriculum with lessons & quizzes included which is managed with an easy-to-use interface for users.

Plugin Version: 4.0.9
 
WordPress plugin LearnPress Course Wishlist

Plugin Features

The plugin is an addon for LearnPress that allows users to create wishlists for courses they are interested in, adding a layer of interactivity and personalization to the learning experience. Users can easily manage and track their wishlist, enhancing user engagement and retention on educational websites. By simplifying the process of saving and accessing desired courses, it improves the overall usability and convenience for both site administrators and learners alike. This functionality can significantly boost user satisfaction and drive more conversions on e-learning platforms utilizing the LearnPress plugin.

Enhancing the LearnPress experience, the addon seamlessly integrates wishlist functionality, empowering users to curate a personalized selection of courses tailored to their educational goals and interests. The intuitive interface enables quick and efficient management of saved courses, fostering a user-friendly environment that encourages exploration and continued learning. With features designed to streamline the wishlist creation process, users can easily add, remove, and prioritize courses based on their preferences, creating a more customized and engaging learning journey.

The addons robust features enable users to stay organized and focused on their learning objectives by providing a centralized hub for tracking and managing course preferences. Through the wishlist, users can revisit and review saved courses, facilitating informed decision-making and encouraging continued participation in educational programs. The seamless integration of wishlist capabilities enhances user experience by offering a convenient solution for bookmarking and accessing content of interest, ultimately fostering a more interactive and dynamic e-learning environment.

With the addon, administrators gain valuable insights into user preferences and interests, allowing them to tailor course offerings and marketing strategies to better meet the needs of their audience. The wishlist functionality serves as a powerful tool for enhancing user engagement and retention, providing a personalized experience that encourages users to return to the platform regularly. By leveraging the addons capabilities to drive user interaction and satisfaction, educational websites can establish a loyal user base and differentiate themselves in a competitive online learning landscape.

In conclusion, the addon for LearnPress Course Wishlist is a valuable extension that enriches the e-learning experience by empowering users to create and manage personalized course wishlists. Its seamless integration and user-friendly features contribute to improved user engagement, retention, and satisfaction, making it a valuable asset for administrators looking to enhance the functionality and appeal of their educational websites. With its focus on usability and personalization, the addon plays a crucial role in optimizing the online learning experience for both learners and site operators.

Specifications:

Release date: 11-10-2020
Last updated: 31-01-2026
Type: Paid
License: GPL 
Subject: Directory & Documentation for LearnPress
Compatibility: W5.x W6.x
Includes: Plugin
Language packs: English
Developer: Thimpress

Rating:
4.6 1 1 1 1 1 (195 Votes)

Download by subscription!

You need to log in on the site and purchase a club subscription!

Share with your friends!

 

LearnPress Course Wishlist Guide: Saving Courses, Configuring the Add-on, and Verifying Results

LearnPress Course Wishlist adds a simple but important layer to a WordPress learning site: a student can mark a course they are interested in, come back to it later, and find saved items in their profile. This guide focuses on practical use rather than marketing copy: what to check before installation, where the button should appear, how to test adding and removing a course, how to use the profile, shortcode, blocks, and widgets, and how to troubleshoot common issues.

This article is intended for LearnPress site owners, course administrators, theme developers, and editors responsible for the user journey from browsing the catalog to enrolling in a course. Wishlist does not replace the catalog, checkout, registration, or the student account area, but it connects them through a clear intermediate step: the user is not ready to enroll yet, but has already shown interest. When that step is visible, fast, and stable inside the theme, the site is less likely to lose motivated visitors.

This article does not cover how to purchase the add-on itself, and it does not include unsafe core edits. We will rely on the official ThimPress page, WordPress.org, LearnPress documentation, the changelog, the REST API, and real support signals. Where the sources do not provide an exact interface item or setting, I explicitly describe the check as a safe WordPress practice rather than a promised plugin feature.

LearnPress Course Wishlist on the course page and in the student profile
The core logic of the add-on: the student sees a Wishlist button on a course, saves an interesting option, and checks the list in their profile.

What problem the LearnPress wishlist solves

On a learning site, choosing a course rarely happens in a single visit. A visitor compares topics, difficulty level, instructor, price, schedule, and format. If the catalog is large, course cards are easy to lose track of: the user opens several pages, closes tabs, comes back through search, and tries to remember what they already looked at. LearnPress Course Wishlist is built for exactly this in-between scenario: saving a course without enrolling or purchasing right away.

It is important to understand the boundary of the feature. Wishlist is not a cart, recommendation system, payment flow, subscription, or lesson access. It is a personal list of interest. The user adds a course, the system stores the relationship between the account and the course, and then shows the saved items in the profile. The ThimPress product page also mentions the ability to display the list through the [learnpress_wishlist] shortcode and use widgets or blocks to show wishlist content elsewhere on the site. That makes the feature useful not only on the single course page, but also in editorial scenarios, such as creating a separate "Favorite Courses" page or adding a compact block to the account area.

For the administrator, the value appears in a different way. Wishlist gives the user a soft next step. If a visitor is unsure, they do not have to decide immediately. They can collect a set of courses, compare them inside their profile, and enroll later. This is especially useful for paid courses with LearnPress WooCommerce: the wishlist does not complete the purchase by itself, but it helps bring the user back to a course that can later move into the regular checkout flow.

In practice, a wishlist is worth enabling if the site matches at least one of these conditions:

  • The catalog contains several similar courses, and users need time to compare them.
  • There are courses at different levels: beginner, intermediate, advanced, exam prep, or career track.
  • Visitors often arrive on mobile, save interesting options, and come back later from a desktop computer.
  • Sales or enrollments depend on repeat touchpoints: email campaigns, consultations, webinars, or free lessons.
  • The site already has a LearnPress student profile, and you want it to be more useful than just a list of enrolled courses.

Who might not need this add-on? If the site only has one course and no real choice to make, a Wishlist button may simply distract from enrollment. If courses are available only after manual admin approval or through a more complex corporate workflow, saving a course as a favorite does not solve the access problem. And if the site is built on a different LMS plugin rather than LearnPress, it is better to use that platform's native mechanism, because Course Wishlist is designed specifically for the LearnPress ecosystem.

What to check before installation

Before installation, do not start with the Upload Plugin button. First, make sure the site is ready for the add-on. LearnPress Course Wishlist depends on the core LearnPress flow: courses must exist as LearnPress courses, the profile must be configured, pages must not conflict with the theme, and user flows must go through normal WordPress authentication.

Basic WordPress and LearnPress compatibility

WordPress.org lists WordPress and PHP requirements for the plugin, and the ThimPress page also shows WordPress compatibility. It is best to verify these right before installation because the listings are not always updated at the same time. This article does not lock in specific numbers: they matter during installation, but they become outdated quickly. The practical takeaway is simple: update LearnPress to a supported branch first, create a backup, and verify the requirements on the WordPress.org page.

If LearnPress is significantly outdated, newer versions of Course Wishlist may behave unpredictably. The changelog shows the transition to LearnPress 4 compatibility, along with specific fixes for the profile, JavaScript, API, and button display. That is a useful signal: the add-on has evolved alongside LearnPress, so mixing a modern wishlist version with an outdated LMS core is not a good idea.

LearnPress pages and the student profile

Wishlist is useless if the user cannot get to their profile. LearnPress documentation describes the profile as a separate page using the [learn_press_profile] shortcode. On a typical site, that page is created during LearnPress installation, but after migrations, theme changes, or manual cleanup, it sometimes gets deleted. Before installing the add-on, make sure the profile page opens for a test student, shows the profile menu, and does not return a 404 error.

If the profile is missing, create a regular WordPress page, insert [learn_press_profile], then assign it in LearnPress settings if that option exists in your version. After that, log in as a test user and confirm that the standard LearnPress sections are visible in the profile. Only then does it make sense to expect a Wishlist tab to appear.

Theme, templates, and overrides

The most fragile part of the wishlist is not data storage, but how the button and list are rendered inside the theme. The ThimPress changelog specifically mentions compatibility with theme overrides, Elementor, and button display across different course page types. In other words, the problem is often not that the user cannot save a course, but that the current theme or a custom template is changing the LearnPress output.

Before installation, it helps to answer three questions:

  • Does the theme use special LearnPress templates or an Education/LMS demo?
  • Has the single course page been edited with Elementor, the Site Editor, a child theme, or a template file?
  • Is there aggressive JavaScript optimization, deferred loading, or file combining that could affect button clicks?

If the site is live and generates revenue, enable the add-on on a staging copy first. The minimum pre-launch check is this: the button is visible on a single course page, in the course archive, in the user profile, and adding or removing a course is paired with a clear notification or state change.

Pre-installation check for LearnPress Course Wishlist in WordPress
Before installation, it is important to verify not only the plugin itself, but also the LearnPress profile, course templates, authentication, and UI caching.

Installation and the first safe verification pass

The official Course Wishlist documentation describes the standard installation path through the WordPress admin panel: open Plugins, go to Add New, upload the ZIP file, and activate the plugin. WordPress.org also offers installation from the directory: search for LearnPress Wishlist, install it, and activate it. Which path you choose depends on where you get the current package and how you manage LearnPress add-on updates on your site.

For a safe installation, follow the usual WordPress order of operations:

  1. Create a backup of the files and database, or confirm that your host has a recent restore point.
  2. Update the core LearnPress plugin and any compatible add-ons if the changelog points to a dependency on a newer branch.
  3. Temporarily disable JavaScript minification and file combining if the site has already had problems with interactive buttons.
  4. Install LearnPress Course Wishlist either from the WordPress directory or from a ZIP file obtained from an official source.
  5. Click Activate and immediately test the site in two roles: administrator and regular student.

Critical post-activation check: open a published course in a private browser window, then log in as a test student and repeat the action. This lets you see the difference right away between the guest state and an account-based save.

First test on a single course page

Open any published LearnPress course. A Wishlist button or icon should appear on the page. Its exact appearance depends on the theme and course template: on some sites it is a text button, on others a heart icon, and on others an element placed next to the enrollment button. The changelog notes that newer versions improved button visibility on classic, modern, and offline course pages, so do not test just one standard course. Test every real course page type used on the site.

Click the button while logged in as a test student. The expected result is that the course is added, the text or icon changes state, a notification appears, and clicking again removes the course from the list. The sources mention Toastify notifications for successful adds, removals, and errors. If you do not see a notification, do not assume right away that saving failed. Go to the profile and check the Wishlist tab.

Checking the profile

The official documentation says that a Wishlist tab appears in the student profile with the added courses. After the first click, open the test user's profile and find that tab. The saved course should be there. Open it, remove it from the list, and refresh the page. Expected result: the same course should not remain in the list after removal and a page refresh.

If the tab is missing, check three things. First, make sure LearnPress Course Wishlist is active. Second, make sure you are opening the actual LearnPress profile page rather than a random WooCommerce account page. Third, check whether the theme is hiding profile menu items through CSS or a custom template. This issue often looks like a standard "the plugin is not working" case, but in practice it is usually a profile output problem.

Checking the archive and instructor view

The changelog mentions improved button visibility in the course archive and on the instructor profile page. If your site uses catalogs, filters, author pages, or an instructor profile, include those in the test. Users often save a course directly from a list without opening every page first. If the button only exists on the single course page, part of the workflow is lost.

For the archive, run a simple test: open the course list, add a course using the icon, go to the profile, and confirm that the correct course was added. Then remove it from the profile and refresh the archive. The button state should match reality. If the archive shows an outdated icon because of caching, add the profile page and wishlist REST endpoints to your cache exclusions, or disable JavaScript optimization during testing.

Post-install setup: what you can actually control

LearnPress Course Wishlist does not have a large standalone settings panel comparable to an LMS, payment system, or course builder. So detailed setup here does not mean "fill in a dozen fields." It means integrating the feature correctly into the existing LearnPress site: checking button visibility, the profile, list output, guest behavior, Gutenberg and Elementor slots, notifications, cache behavior, and theme styling. That approach is more practical because most wishlist problems appear at the intersection of the add-on, the theme, and the user journey.

The user journey from course to profile

Start with the journey map. The user sees a course in the catalog, clicks Wishlist, gets feedback, and later finds the saved item in the profile. If one of those steps is unclear, the feature is technically enabled but not very useful. Check the following:

  • The button next to the main course action does not look like a secondary link that is easy to miss.
  • After the click, there is a clear state: added, removed, login required, or error.
  • In the profile, the Wishlist tab is not hidden behind a narrow menu, avatar block, or unusual theme markup.
  • The saved course card leads to the correct course page rather than an empty template or outdated URL.
  • After removal, the course disappears without requiring the user to clear browser cache.

If the site uses LearnPress WooCommerce, do not confuse the wishlist with the cart. The ThimPress product page states compatibility with the WooCommerce integration scenario, but the wishlist itself should not add a product to the cart. The correct flow looks like this: the student saves a course, opens the list later, goes back to the course, and only then chooses enrollment or purchase. If you want a unified cart for courses and regular products, that is handled through the WooCommerce Add-on for LearnPress, not through Course Wishlist.

The guest flow and registration

The changelog notes that the button became visible to logged-out users and should show a clear prompt to sign in when clicked. The FAQ on the ThimPress product page is also cautious about guest behavior: persistent saving usually requires an account. The practical takeaway is this: do not promise a persistent list to visitors who are not signed in until you have tested the behavior on your own site.

For the guest flow, open a course in a private window. If the button is visible, click it. A good outcome is a message telling the user to sign in or register. A bad outcome is silence, endless loading, or an add action that disappears after a page refresh with no explanation. If registration is disabled in WordPress settings, the login message should lead to a real sign-in form rather than implying that self-registration is available.

Where to place a wishlist page

The [learnpress_wishlist] shortcode listed on the ThimPress page is useful if you want a dedicated page for favorite courses outside the standard profile. For example, you can create a "My Favorite Courses" page, insert the shortcode, and add a link to it in the account menu or in a post-registration email. But do not create duplicates without a clear reason: if the standard profile is already easy to use, a separate page is only needed when it improves navigation.

Testing the shortcode is straightforward. Create a draft page, insert [learnpress_wishlist], and open it while logged in as a test student who has already saved a course. If the list appears, publish the page and place the link somewhere convenient. If the list is empty, check whether the course was added by that specific user, whether the page is being viewed as an administrator instead, and whether the theme is blocking shortcode output.

Blocks, widgets, and Elementor

The changelog contains several important signals: a Gutenberg block or widget was added for wishlist content, Elementor integration was improved, and an Elementor widget had been introduced earlier. That does not mean every site will display the same panel called "Wishlist Settings." It means the feature should be tested not only in the classic editor and the profile page, but also in the block editor and in templates where LearnPress pages are assembled.

If the site uses Gutenberg, check the available blocks using keywords such as LearnPress and Wishlist. If a block is available, add it to a test page and compare the result with the shortcode. If the site uses Elementor, check the widget or course template there. Do not mix every output method at once: one primary display method should lead, and the others should support it. Otherwise, users may end up seeing several inconsistent places for the same list.

Configuring Wishlist output in LearnPress through the profile, shortcode, and block
You can test the wishlist through the LearnPress profile, a separate page with the shortcode, and block output if it is available in your setup.

Where the Wishlist button should appear and how to test it

The most common practical mistake is testing the button on one course and assuming setup is complete. LearnPress Course Wishlist runs in an environment where the same course can appear in several different ways: a single page, an archive, a search card, an instructor profile, an offline course, a theme card, or an Elementor template. The changelog explicitly lists screen types where button visibility was improved, so a solid test needs to cover those variants.

Single course page

The single course page is the main screen to verify. That is where the user studies the syllabus, price, instructor, reviews, and enrollment terms. The Wishlist button should sit close to the place where the user is making a decision. If it is buried too far down the page, the feature loses its value because most visitors will not go hunting for it at the bottom of a long description.

Test several course types: free, paid through the standard LearnPress checkout, paid through WooCommerce, and offline course if that format is used. For each course, perform four actions: add it, refresh the page, reopen it in another browser under the same user, and remove it. That helps catch state issues where the icon changes visually but the list in the profile does not actually update.

Archive and course cards

The course archive matters for larger catalogs. Users may scan dozens of course cards quickly and save interesting options without opening each one. If the theme outputs a custom course grid, the wishlist button may not appear in the card. That is not necessarily a plugin bug: the theme may have fully replaced the LearnPress course card template.

Test the archive like this: open the course list, save a course from the card, then go to the profile. If the course appears there, the card works. If it does not, while the single course page works correctly, the issue is probably in the archive template or in Elementor or the theme. If the button only appears after disabling cache, configure exclusions for LearnPress scripts or review the JavaScript combining options.

Instructor profile and collection pages

If the site shows instructor pages, the course cards on those pages should also be tested. The changelog shows that the developers specifically improved wishlist output on the single instructor profile. That matters on marketing-driven sites: a visitor may first connect with the instructor and then save several of their courses.

The test is similar to the archive check, but add one more detail: save a course from the instructor page and make sure the student profile shows the correct course rather than the author page. If the theme passes the wrong course ID inside a custom card, the wishlist may fail or attach itself to the wrong object.

Offline courses and courses without standard checkout

LearnPress supports offline courses, and the Course Wishlist changelog includes improvements to wishlist display for those pages. If you offer in-person seminars, blended learning, or courses that use an off-platform enrollment process, the wishlist can be especially useful: the user saves an interesting offline course and comes back to the details later.

The key here is not to imply automatic enrollment. The page copy should explain that saving helps the user return to the course, while registration or contact with the organizer happens separately. Verify that the wishlist button does not conflict with the application button, contact action, or external form.

LearnPress Course Wishlist button on a single course page, archive, and instructor profile
Check the button on every real course surface: the single page, archive, instructor profile, and offline formats may all use different templates.

The account area, shortcode, and Wishlist block as part of navigation

Wishlist only becomes useful when users can easily find the courses they saved. According to the ThimPress documentation, the main result appears in the student profile as a Wishlist tab. The product page also mentions the [learnpress_wishlist] shortcode and output through widgets or blocks. These methods do not compete with one another if you decide in advance what role each one should play.

The Wishlist tab in the profile

The LearnPress profile is the most natural place for a persistent list. Users already expect to find their courses, orders, settings, and learning activity there. The added Wishlist tab extends that logic: "I am not enrolled yet, but I have marked this as interesting."

After installation, check the profile on both desktop and mobile. In some themes, the mobile profile menu turns into a horizontal strip, a dropdown, or a narrow column. If the Wishlist tab is only visible after scrolling, add a small UI hint or reconsider the menu order. Do not hide the tab with a CSS tweak just to make the menu look cleaner, because that cuts users off from the courses they saved.

A separate page with [learnpress_wishlist]

The shortcode is useful when you want more editorial control. For example, you can create a page called "Favorite Courses" and add a short introduction such as: "This page stores the courses you marked to review later." Then insert [learnpress_wishlist] below it. This kind of page is especially useful if the standard profile is overloaded or if the theme does not present the profile in a way that works well for your site.

Do not turn that separate page into a public catalog. The wishlist is personal, so a guest or a user with no saved courses should see a clear empty state. If the site does not provide one by itself, add plain supporting text nearby and suggest going back to the course catalog to save interesting programs. At the same time, do not imply that a guest can keep the list permanently if persistent storage requires an account.

A block or widget for contextual output

Block-based output is useful in two situations. First, when the account area is built in the block editor and you want to show the wishlist alongside other learning-related blocks. Second, when you need a short reminder in the sidebar or footer, such as the number of saved courses or a link to the list. The ThimPress product page mentions widgets for showing the count or list of saved courses, and the changelog mentions a Gutenberg block or widget.

Test the widget functionally, not just visually. Add a course to the wishlist, open the page with the widget, remove the course, and refresh the page. The widget should update its state. If it keeps showing an outdated count, check for fragment caching, dynamic block optimization, or static page generation.

How not to overwhelm the user

Wishlist should be noticeable, but it should not compete with the main course action. A solid navigation pattern looks like this:

  • On the course page, one clear button or icon for saving the course.
  • In the profile, a persistent Wishlist tab with the list of saved courses.
  • In the account menu or a widget, a short link to the list if it improves the user journey.
  • In emails and hints, a light explanation that a saved course can be opened later.

If you place the wishlist in the header, sidebar, footer, profile, popup, and a separate page all at once, users will start treating it as noise. It is better to choose two or three placements and make them stable.

Practical scenario: a student saves courses and comes back to choose

Let us walk through a realistic scenario for a learning site with several digital skills courses. The goal is to let a visitor save three interesting courses, compare them in the profile, and move on to enrolling in one of them. This scenario tests the core LearnPress Course Wishlist behavior, the profile, button state, signed-in user handling, and the connection to the next course action.

Goal

We want a flow where the student does not lose courses between visits. They open the catalog, add the course "Web Design Fundamentals," then add "WordPress for Content Editors," return to the profile, and see both options there. After comparing them, they open the desired course and either enroll or proceed to payment if the course is paid.

Preparation

Before the test, make sure the following is ready:

  • At least two published LearnPress courses with images and clear titles.
  • A working LearnPress profile page.
  • An active LearnPress Course Wishlist plugin.
  • A test student with a normal user role, not an administrator.
  • JavaScript optimization disabled or properly tuned during the initial verification phase.

If one of the courses is paid through the WooCommerce Add-on for LearnPress, also confirm that the course page leads into the correct purchase flow. Wishlist should not replace checkout, so payment testing is handled separately.

Steps

  1. Log in as the test student and open the course catalog.
  2. Find the first course and click the Wishlist button or icon directly in the card if it is available there.
  3. Open the single page for the second course and add it to the wishlist from there.
  4. Refresh both pages and make sure the button state does not visually reset.
  5. Go to the LearnPress profile and open the Wishlist tab.
  6. Open one saved course from the list, then go back and remove the second course.
  7. Refresh the profile and the catalog to confirm that the removal was saved.

Verifying the result

The correct result looks like this: the saved courses appear in the profile, each card links to the correct course, removal works without duplicates, and the button state on the course matches the actual list. If the course reappears after refresh, check caching on the profile page. If the button changes but the profile is empty, check authentication and REST requests. If only the single course page works while the archive does not, the issue is almost certainly in the course card template or the theme.

Mini conclusion for this scenario: the test only counts as successful after the full cycle of "add - find in profile - open course - remove - refresh the page."

A nuance with paid courses

If the course is purchased through WooCommerce, the user flow should still remain consistent. Wishlist stores interest, WooCommerce handles the purchase, and LearnPress grants access after the order succeeds. Do not use text such as "course already in cart" if the course has only been saved. Neutral wording works better: "Saved to list," "View later," or "In favorite courses."

Example of a student using LearnPress Course Wishlist in the catalog and profile
A practical test should cover the entire path: catalog, course page, saving, profile, return to enrollment, and removal from the list.

Verifying results, performance, and theme compatibility

After the initial scenario, run a stricter verification pass. Wishlist belongs to the category of features that can look fine in one browser and break in real traffic because of caching, script optimization, theme templates, user permissions, or a non-standard profile page. That is why the final check should combine user testing, technical signals, and interface review.

What to look at in the browser

Open developer tools and watch the console when clicking the Wishlist button. If there is a JavaScript error, the save action may not be sent at all. The changelog includes JavaScript fixes and optimization for add and remove actions, so these errors should not be ignored. But do not paste random third-party code snippets into the site. First disable script combining, cache optimization, and deferred loading on course pages. If the error disappears, configure exclusions carefully.

In the Network tab, you may see LearnPress wishlist REST requests if your setup uses the related API. The LearnPress REST API documentation describes endpoints for checking whether a course is in the wishlist and for toggling its state. For a typical site admin, that does not mean you need to build an integration. It is useful as a diagnostic tool: does the request go out or not, do you get a successful response or an authorization error, and does the items list actually change?

Caching and dynamic pages

Profile pages and interactive buttons cannot be cached like a regular static article. If the cache serves the same profile or course card version to everyone, users will see the wrong state. Exclude the LearnPress profile page, account pages, checkout if it is used, and REST requests related to the wishlist from full-page caching. The exact settings depend on the caching plugin, but the principle is always the same: personal data and user actions must not turn into a shared cached fragment.

If the site uses a CDN, minification, defer, or delayed JavaScript loading, test after each change. A good order is this: enable one type of optimization, test the button, profile, and notification, then enable the next one. That way, you will know which setting breaks the action. If you enable everything at once, troubleshooting will take much longer.

Compatibility with Elementor and the block editor

If course pages are built with Elementor, check not only the published view but also the template itself. Elementor handling was specifically mentioned in the changelog, so older templates may need an update or a fresh save. In the block editor, check whether the wishlist block is available and whether it conflicts with the profile page.

For custom templates, it is important to preserve LearnPress hooks and the areas where the add-on injects the button. If the theme developer replaced the entire course card with static markup, Course Wishlist may no longer have a valid insertion point. In that case, the correct fix is to update the template according to the current theme or LearnPress recommendations, not to edit the plugin files.

Translations and localization

WordPress.org shows that the plugin is translated into multiple languages, and the older changelog mentions language files and strings. If your site is in Russian, verify the visible labels: Add to wishlist, Remove from wishlist, Wishlist, and notification messages. If some strings are still in English, the safe path is to use WordPress system translations or Loco Translate for LearnPress and add-on strings. Do not edit the text directly in the plugin files, because updates will overwrite those changes.

A small visual improvement without editing the plugin

Sometimes the feature works correctly but looks weaker than the rest of the theme: the icon is too small, the button does not feel interactive, or the notification blends into the background. The safest fix is to handle that through CSS in a child theme or in the theme's Additional CSS section. A snippet like this does not change the add or remove logic, does not interfere with checkout, and is easy to roll back.

Before editing, inspect the button classes on your site in the browser inspector. Different LearnPress themes may use different markup, so the example below intentionally uses several likely selectors and limits the changes to appearance only. If a selector does not match, adapt it after testing instead of adding dozens of random classes.

.learn-press-course-wishlist,
.lp-course-wishlist,
.course-wishlist {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 40px;
  padding: 8px 14px;
  border-radius: 6px;
  border: 1px solid currentColor;
  font-weight: 600;
  line-height: 1.2;
}

.learn-press-course-wishlist:hover,
.lp-course-wishlist:hover,
.course-wishlist:hover {
  text-decoration: none;
  opacity: 0.88;
}

After adding the CSS, test three states: the default button, the state after a course has been added, and the state on mobile. If the button starts conflicting with the enrollment button, reduce the padding or restore the original style. Rolling back is simple: remove the snippet from Additional CSS. Do not add JavaScript just for animation. Wishlist already relies on interactive behavior, and extra scripts only increase the chance of conflicts.

If you are using a ThimPress theme or an LMS theme with its own color settings, check those settings first. CSS is only needed when the built-in controls do not produce the result you want or when you need a small adjustment in a child theme.

Common LearnPress Course Wishlist issues and troubleshooting

Wishlist issues usually look the same from the user's point of view: "the button is missing," "it does not add anything," "the list is empty," or "there is an error after clicking." But the underlying causes are different. Below is a symptom-based troubleshooting guide built on the changelog, LearnPress documentation, WordPress.org support, and standard WordPress practice.

The Wishlist button does not appear on the course page

Symptom: the plugin is active, but there is no button or icon on the course page. Possible causes: the wrong page type, an outdated theme template, a custom Elementor card, overridden LearnPress templates, or cached old markup.

What to check: open a standard single course page, then the course archive and the instructor profile. If the button appears on the standard page but not in the custom template, the problem is in the theme or page builder. If the button is missing everywhere, check whether LearnPress and Course Wishlist are both active, whether the versions are compatible, and whether there are console errors.

How to fix it: update the theme and LearnPress add-ons, resave the Elementor template, and temporarily switch to a default theme for testing on a staging copy. If the button appears after that, switch back to the site theme and review its LearnPress templates. Any manual template changes should be rolled back if they were made without accounting for current LearnPress hooks.

The button is visible, but the course is not saved

Symptom: the user clicks the button, but the state does not change or the profile list stays empty. Possible causes: a JavaScript error, a blocked REST request, the user is not logged in, a security or cache plugin is filtering the requests, or the site is serving an outdated script bundle.

Check this way: log in as a test student, open the browser console and Network tab, then click the button. If no request is sent, the issue is in JavaScript. If the request is sent but returns an authorization error, check login state and nonce or cache behavior. If the request succeeds but the profile is empty, check the profile page and its cache.

Fix: temporarily disable deferred or delayed JavaScript loading and file combining, clear the cache, and exclude the profile and wishlist requests from caching. If the problem only appears for guests, confirm the expected behavior: guests may be prompted to log in rather than being allowed to save permanently.

There is no Wishlist tab in the profile

Symptom: adding the course appears to succeed, but there is no separate tab in the LearnPress profile. Possible causes: you are not viewing the actual LearnPress profile page, the profile was created without [learn_press_profile], the theme is hiding the menu item, the add-on version is old, or the profile template is conflicting.

What to check: open the page assigned as the LearnPress profile and confirm that it renders the standard profile. If the current page looks suspicious, create a test page with [learn_press_profile]. Also test it under a default theme in a staging environment.

Fix: restore the profile page, update LearnPress and Course Wishlist, and review the theme CSS. Do not hide profile elements with global CSS overrides. If the profile menu only breaks in one specific theme, look for a theme update or contact the theme developer.

Notifications do not appear or look broken

Symptom: the course is saved, but there is no clear message, or the popup notification is hidden behind the header. Possible causes: conflicting Toastify styles, the theme's z-index, disabled CSS or JS, or aggressive optimization.

Check this way: add and remove a course, then compare the behavior with CSS and JS optimization disabled. If the notification appears but stays hidden, the problem is visual. If it never appears at all but saving still works, inspect the scripts and console.

Fix: start by tuning optimization. For appearance, you can add a small CSS adjustment in the child theme, but do not edit the plugin files. If the notification gets in the way of important UI elements, it is better to adjust the positioning through the theme than to remove feedback entirely.

The list shows stale data after removal

Symptom: the user removes a course from the wishlist, but after refresh it is visible again, or the widget shows an outdated count. Possible causes: profile cache, widget cache, CDN, static page generation, or browser cache.

Check this way: repeat the removal in a private window, under another user, and with cache disabled. If the problem disappears, the culprit is optimization rather than wishlist logic. If it still happens without cache, check the REST response and user permissions.

Fix: exclude the profile, account pages, and dynamic wishlist requests from caching. For widgets, check whether the theme is storing the HTML fragment as a static block.

WooCommerce flow problems after opening a course from the wishlist

Symptom: the user opens a saved course and tries to buy it, but ends up on an empty cart or the wrong checkout page. Course Wishlist is usually not the main cause here because it only returns the user to the course. LearnPress support documentation for the WooCommerce integration notes that checkout conflicts can happen when LearnPress checkout and WooCommerce checkout are assigned to the same page.

Check this way: open the course directly without using the wishlist and repeat the purchase. If the error remains, troubleshoot the WooCommerce Add-on for LearnPress and the checkout pages. If direct access works but the wishlist path does not, check the saved course URL and any theme redirects.

Fix: use separate checkout pages for LearnPress and WooCommerce if your integration setup and documentation require that. After the change, test a regular course, a saved course, and the resulting order in the profile.

Troubleshooting LearnPress Course Wishlist issues with the button, profile, cache, and WooCommerce
Troubleshooting should move from the symptom to a concrete check: course template, user login state, REST request, LearnPress profile, cache, and checkout.

FAQ on setup and usage

Do I need to create a separate Wishlist page after installation?

Not necessarily. The official documentation shows the primary result inside the student profile, while the ThimPress product page mentions the [learnpress_wishlist] shortcode for displaying the list. If the profile is easy to use, you do not need a separate page. If the profile is overloaded or you want to give users a direct link to their saved courses, create a page with the shortcode and test it as a student.

Can a guest save courses without logging in?

According to the sources, the button may be visible to users who are not logged in and may show a message requiring authorization. Persistent saving is usually tied to an account. For that reason, the interface should not promise a permanent list to guests until you have verified the behavior of your exact version and theme.

Why is the button visible on the course page but missing in the archive?

The most likely cause is the archive or course card template. The single course page and the archive may use different LearnPress templates. If the archive is built by the theme or Elementor, the button may not be rendered there. Check the standard archive, update the theme, and make sure the custom card preserves the LearnPress output areas.

Can I use the wishlist together with WooCommerce?

Yes. The ThimPress product page states that the flow is compatible with the LearnPress WooCommerce integration. But the wishlist does not replace the cart. It saves interest in a course, while purchase or enrollment still happens through the LearnPress and WooCommerce flow. If checkout issues appear, troubleshoot the WooCommerce Add-on for LearnPress separately.

Does Course Wishlist affect SEO?

You should not expect a direct SEO effect such as higher rankings. The benefit is indirect: better user behavior, more returns to saved courses, and clearer profile navigation. For SEO, it matters more that the button does not break the template, create JavaScript errors, or interfere with indexing of standard course pages.

What should I do if some strings are still in English?

Use WordPress's built-in translation system or a tool such as Loco Translate. Do not edit the plugin files manually. Those changes will disappear after updates, and in some cases they can even break translation loading.

Do I need to add CSS for the button?

Only if the default appearance conflicts with the theme or the button is hard to notice. The CSS should stay small, live in a child theme or Additional CSS, and change appearance only. It is best not to touch the add, remove, or authentication logic unless a developer is involved.

Why is it better to verify exact versions right before installation?

The ThimPress listing and WordPress.org may be updated at different speeds. When making an installation decision, rely on the official WordPress.org directory, the changelog, and the developer page at the time of installation. In the guide itself, understanding the mechanism and the checks matters more than memorizing a version number that will soon become outdated.

When LearnPress Course Wishlist is the right choice

LearnPress Course Wishlist is worth using if your site already runs on LearnPress and users need a simple way to save courses for later. The add-on is especially useful in catalogs with several subject tracks, paid courses, offline formats, instructor pages, and a longer decision cycle. Its strength is not a huge number of settings, but a clean intermediate action between "just browsing" and "ready to enroll."

Before launching it on a live site, test the full path: the button on the course page, the button in the archive, the profile tab, the shortcode or block, notifications, the guest flow, caching, and the WooCommerce transition if you use it. If all of those points work correctly, you can move on to real usage and see whether the wishlist helps bring students back to the decision point.

If the feature fits your catalog after testing, you can download the ZIP package and test it on a staging copy or a safe production site. Start not with visual polish, but with reliable saving, a clear profile, and correct course removal from the list.

The main selection criterion is simple: if the site offers meaningful choices and gives users something worth returning to, a wishlist adds a clear user layer. If there is only one course, the profile is not used, or enrollment only happens manually through a manager, the effect will be weaker. In that case, it is better to improve the catalog structure, the profile page, and the main enrollment flow first, and only then add a wishlist.

By OceanTheme.org Editorial Team

 

You are not logged in to post comments.