Skip to main content

WordPress has become the go-to CMS platform for building websites including custom-made Learning Management System (LMS) platforms, which is something we greatly specialise in at Discover eLearning.

LMS platforms provide a convenient way to deliver structured online courses and educational experiences via the web. In this article, we will demonstrate to you the steps to take using code to create a custom page redirection in WordPress for users that are logged out of your platform, which may be helpful as you begin to further develop and customise your WordPress-based LMS solution.

Why would you want to redirect unauthorised users from certain LMS pages?

One of the challenges you may face is to ensure that only authenticated users have access to certain pages, such as the user’s customer account or course content/resource areas. Like most processes in WordPress, you have fine control over the exact behaviour of every page on your site based on specific users and their roles. Custom page redirection allows developers to redirect users to specific pages based on certain conditions, including being logged in or out of your platform. This feature becomes particularly useful in an LMS environment, where controlling access to sensitive content might be crucial.

Here’s an example code snippet you can use to perform this action:

To implement this code, open the functions.php file included in your WordPress theme folder and paste this in (e.g. at the bottom of the file):

function redirect_if_not_logged_in() {
if ( !is_user_logged_in() && is_page( 'my-account' ) ) {
wp_redirect( home_url( '/login/' ) );
add_action( 'template_redirect', 'redirect_if_not_logged_in' );

In this case we are redirecting users away from the page which is found at url OURSITE.COM/my-account to our login page instead. This is because we do not want the account page to be visible to anyone other than site users who actually do have an account.

Let’s break the code down further:

Let’s break down the code to understand its functionality. The redirect_if_not_logged_in() function checks if a user is not logged in and if the current page is the ‘my-account’ page. If both conditions are met, it redirects the user to the login page using the wp_redirect() function. The exit() function ensures that no further processing takes place after the redirection.

Benefits recap for your LMS platform:

  1. Enhanced Security: By redirecting non-logged-in users away from sensitive pages, such as the account page, the custom redirection code improves the overall security of the LMS platform. It helps prevent unauthorised access to personal information or course content.
  2. Improved User Experience: Custom page redirection ensures that users are seamlessly directed to the appropriate pages based on their authentication status. Instead of encountering error messages, getting lost, or seeing dynamically generated pages with empty content. Users are guided to the login page, providing a smoother user experience.
  3. Flexibility and Control: The code can be customised to redirect users to different pages based on specific conditions, such as redirecting logged-in users away from the login page. This flexibility allows developers to create tailored experiences for different user roles and scenarios within your platform.

By leveraging the code provided in this article, you can further tailor the user experience taking place on your platform. Of course there are many other fantastic customisations and automated actions which can be planned for within your WordPress LMS platform, and if you have an idea for something you want to implement but are struggling on how exactly to do it, then please do get in touch with us and we’ll be happy to talk through if we can help.

Chris Hodgson

Chris Hodgson is an award-winning Digital learning Solutions Developer and Director of Discover eLearning Ltd. He supports organisations of all sizes to implement engaging, meaningful, and impactful eLearning solutions. Chris has 15 years’ experience working in both private and public sector learning and development.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.