Tutor LMS uses the WordPress editor to create lesson content, allowing course creators to add text, images, videos, and other media to their lessons. The save process should be seamless, with content persisting after the page is refreshed or reopened. However, some users report that lesson content disappears after saving, or that the save button does nothing at all, leaving course creators unable to build their courses.
This problem can be incredibly frustrating for course creators who have spent hours developing lesson materials. The content may appear to save correctly, but when the lesson is reopened, the content is gone. In other cases, the editor may freeze or show an error when trying to save. The issue may affect all lessons or only specific ones, and it may appear suddenly after updating Tutor LMS or other plugins.
The most common cause of this problem is a conflict with another plugin that modifies the WordPress editor or post saving process. Security plugins that block AJAX requests, caching plugins that interfere with post saving, and page builder plugins that conflict with the Tutor LMS lesson editor are all potential culprits. Database issues, such as corrupted post meta tables or insufficient table storage, can also prevent lesson content from being saved.
Why Tutor LMS lesson content fails to save
Tutor LMS saves lesson content as a WordPress post (post_type = ‘lesson’) with the content stored in the post_content field. When the save button is clicked, WordPress triggers a series of hooks and filters that process the content before storing it in the database. If any plugin or theme interferes with these hooks, the content may be modified, truncated, or not saved at all. This is especially common with security plugins that scan content for malicious code and may strip out legitimate HTML or JavaScript.
Another common cause is that the PHP max_input_vars limit is too low to process all the lesson content. Lessons with many images, embedded videos, or complex formatting can generate a large number of input variables when saved. If the max_input_vars limit is set to 1000 (the default on many servers) and the lesson content exceeds this limit, some data will be dropped silently during saving, resulting in incomplete or missing content.
Database issues can also prevent lesson content from being saved. If the wp_posts table is corrupted or if the database user does not have sufficient permissions to write to the table, the save operation will fail. This is more common after site migrations or server changes, where database permissions may not have been set correctly. Checking the database for corruption and verifying user permissions can resolve these issues.
How to check if lesson content is being saved to the database
After saving a lesson, use a plugin like Custom Field Suite or phpMyAdmin to inspect the wp_posts table. Find the lesson post (post_type = ‘lesson’) and check the post_content field. If the post_content field contains the content you entered, the data is being saved correctly, and the issue is with displaying it. If the post_content field is empty or contains only partial content, the data is not being saved properly.
Step by step guide to fixing Tutor LMS lesson saving problems
Follow these steps in order to restore proper lesson saving functionality in Tutor LMS. Start with the simplest solutions before moving to more advanced troubleshooting steps.
- Increase PHP max_input_vars to 3000 by adding a line to the .htaccess file or php.ini
- Increase PHP memory limit to 512MB in the wp-config.php configuration file
- Temporarily deactivate all security plugins to test if they block content saving
- Disable all caching plugins temporarily to test if they interfere with post saving
- Clear all caches including plugin cache, CDN cache, and browser cache completely
- Switch to a default WordPress theme to test if the theme interferes with the editor
- Check the browser console for JavaScript errors when clicking the save button
- Repair the database using the WordPress database repair tool (wp-admin/maint/repair.php)
- Update Tutor LMS to the latest version available from the WordPress repository
- Recreate the problematic lesson from scratch if the existing lesson is corrupted
How to increase PHP max_input_vars for Tutor LMS
Add this line to the .htaccess file in the root WordPress directory to increase the max_input_vars limit. If your server does not use .htaccess, add the line to the php.ini file instead. After making the change, restart the web server and test if lesson content saves correctly. You can verify the new limit by creating a simple PHP info file or using a plugin like WP Server Health Check.
php_value max_input_vars 3000
Tutor LMS lesson saving troubleshooting reference table
Here is a reference table for diagnosing lesson saving problems in Tutor LMS based on specific symptoms you might encounter.
| Symptom | Most likely cause | Recommended solution | Save button does nothing when clicked | JavaScript error or AJAX request blocked | Check browser console and whitelist AJAX in security plugins | Lesson content disappears after page refresh | Content not saved to database or database write issue | Check database permissions and increase max_input_vars | Some lesson content saves, other parts are missing | PHP max_input_vars limit exceeded | Increase max_input_vars to 3000 or higher | Lesson saves but formatting is stripped | Security plugin stripping HTML or JavaScript | Configure security plugin to allow necessary HTML tags |
|---|