Tutor LMS Extension
An extension for Tutor LMS.
Install
This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.
Install straight from GitHub with WP-CLI:
wp plugin install https://github.com/bijoycodes/tutor-lms-extension/archive/refs/heads/main.zipAn extension for Tutor LMS that adds custom fields functionality and Elementor integration.
Description
Tutor LMS Extension enhances the Tutor LMS learning management system by providing:
- Custom Fields Management: Add and manage custom fields for courses
- Elementor Integration: Use custom fields as dynamic tags in Elementor
- Course Builder Extensions: Extend the Tutor course builder with additional functionality
- Admin Dashboard: Easy-to-use admin interface for managing custom fields
Features
- ✅ Create and manage custom course fields
- ✅ Elementor dynamic tags support for custom fields
- ✅ AJAX-powered field updates
- ✅ Secure nonce verification for all AJAX requests
- ✅ Course metadata management
- ✅ Admin menu integration
Requirements
- WordPress: 5.0 or higher
- Tutor LMS: Required plugin (must be installed and activated)
- Elementor: Required plugin (must be installed and activated)
- PHP: 7.2 or higher
Installation
- Download the plugin files
- Upload the
tutor-lms-extentionfolder to/wp-content/plugins/directory - Activate the plugin through the WordPress Plugins menu
- Navigate to Tutor → Custom Fields to manage your custom fields
Usage
Managing Custom Fields
- Go to Tutor LMS → Custom Fields in the WordPress admin
- Add new custom fields with the field name and settings
- These fields will appear in the course builder
- Fields are automatically saved to course metadata
Using in Elementor
- In Elementor editor, add your desired widget
- Look for dynamic tag options
- Select Tutor Custom Fields from the available dynamic tags
- Choose the specific custom field to display
AJAX Functionality
The plugin provides two main AJAX endpoints:
- tutor_update_course: Updates course metadata with custom field values
- tutor_extention_custom_fild_update: Updates custom field definitions
All AJAX requests include security nonce verification.
File Structure
tutor-lms-extention/
├── tutor-lms-extention.php # Main plugin file
├── include/
│ ├── elementor-extends.php # Elementor integration
│ ├── frontend.php # Frontend functionality
│ └── admin.php # Admin interface
├── assets/
│ ├── css/
│ │ ├── create-course.css # Course builder styles
│ │ └── admin.css # Admin page styles
│ └── js/
│ ├── create-course.js # Course builder scripts
│ └── admin.js # Admin page scripts
└── README.md # This file
Version
Current Version: 1.0.1
Author
Bijoy - GitHub Profile
License
This plugin is licensed under the GPL2+ License. See the LICENSE file for details.
Security
- All user inputs are sanitized using
sanitize_text_field() - All AJAX requests are verified using WordPress nonce system
- Capability checks ensure only authorized users can manage settings
Hooks & Filters
Actions
tutor_after_course_builder_load- Called after Tutor course builder loadsadmin_enqueue_scripts- Used to enqueue admin styles and scriptswp_ajax_tutor_update_course- AJAX handler for course updateswp_ajax_tutor_extention_custom_fild_update- AJAX handler for custom field updateselementor/dynamic_tags/register- Register Elementor dynamic tags
Options
tutor-extention-custom-filds- Stores custom field definitions
FAQ
Q: Do I need Tutor LMS installed? A: Yes, this is an extension for Tutor LMS and requires it to be installed and activated.
Q: Can I use this without Elementor? A: The plugin requires Elementor, but you can still use custom fields in the course builder without Elementor.
Q: How do I add new custom fields? A: Go to Tutor LMS → Custom Fields in the WordPress admin dashboard to add and manage custom fields.
Support
For issues, feature requests, or support, please visit the GitHub repository.
Changelog
Version 1.0.1
- Initial release
- Custom fields management
- Elementor integration
- Admin interface
- AJAX course updates
Note: This is a custom extension developed for Tutor LMS. Ensure all required plugins are installed and activated before using this extension.