=== Course Tracker - Simple WordPress Lesson Progress & LMS Navigation ===
Contributors: erikzett
Donate link: https://rankbydesign.com/course-tracker-donate
Tags: lms, course, lesson, progress bar, lesson completion, course navigation, track lessons
Requires at least: 5.0
Tested up to: 7.0
Stable tag: 1.1.8
Requires PHP: 7.0
License: GPL2
License URI: http://www.gnu.org/licenses/gpl-2.0.html

Lightweight WordPress LMS plugin to track lessons, student progress, and completions with visual progress bars, checkmarks, customizable navigation, and flexible shortcode-driven layouts.


== Description ==

**Course Tracker** is a lightweight, shortcode-driven WordPress plugin that lets you **build your own mini LMS directly inside WordPress** — no coding or external LMS required.

It’s powered by the **WordPress Menu Builder**, which you use to structure your course outline. Each menu item (lesson) automatically becomes part of a side navigation panel — complete with **progress checkmarks and arrows** that update as students mark lessons complete.

Fully compatible with **Classic Editor, Gutenberg, and all major page builders** such as Bricks Builder, Elementor, and Beaver Builder, Course Tracker helps you track lessons, show progress bars, customize navigation text, and guide students through your course in a clean, visual way.

Designed for creators who want course progress tracking without complex LMS setups, it delivers everything you need to create a motivating learning experience — fast, flexible, and privacy-friendly.


### Key Features

- **Shortcode-Driven:** Add course navigation, progress bars, and completion buttons anywhere — no coding required.
- **Menu-Based Navigation:** Uses the native WordPress Menu Builder to create your course outline and automatically show lesson checkmarks and arrows as students progress.
- **Lesson Completion Tracking:** Students can mark lessons complete and instantly see their updated progress.
- **Standalone Progress Bar:** Display a progress bar independently from the course outline using the new `[ctrkr_progress_bar]` shortcode.
- **Custom Progress Text:** Customize wording like “lessons”, “modules”, or “sections” using shortcode attributes and dynamic tokens.
- **Progress Bars & Checkmarks:** Display lesson progress visually with customizable bars, icons, and completion text.
- **Custom Slide-in Content:** Add custom HTML, notices, buttons, downloads, or shortcodes below the slide-in navigation panel.
- **Navigation Styling Controls:** Fine-tune navigation spacing, colors, active states, and checkmark styling directly from settings.
- **Build Your Own LMS:** Create a complete learning experience directly inside WordPress — no third-party LMS plugins or subscriptions needed.
- **Works with All Editors:** Compatible with Classic Editor, Gutenberg, Bricks Builder, Elementor, and other page builders.
- **Lightweight & Fast:** Built for speed, simplicity, and compatibility with any theme.
- **Save & Restore Progress:** Students can export or import progress data anytime — no external accounts or sync required.
- **Privacy-First:** All progress data stays in your WordPress database, never sent elsewhere.


== Installation ==

1. Upload the plugin files to the `/wp-content/plugins/course-tracker` directory or install via the WordPress plugin installer.
2. Activate the plugin through the **Plugins** menu in WordPress.
3. Go to **Settings → Course Tracker** to select your course navigation menu and configure options.
4. Add shortcodes (see below) to your lesson or course pages.


== Usage ==

After setup, use these shortcodes in your pages or templates:

* `[ctrkr_nav]` — Displays course navigation with checkmarks.

* `[ctrkr_complete_button text=" "]` — Adds a button to mark the current lesson as complete.

* `[ctrkr_nav_arrows]` — Adds Previous/Next lesson arrows.

* `[ctrkr_course_outline]` — Shows progress bar and course outline.

  Example:
  `[ctrkr_course_outline show_progress="no"]`

  Displays the course outline without the progress bar.

* `[ctrkr_lesson_position]` — Displays text like Lesson X of Y.

  Example:
  `[ctrkr_lesson_position text="Module {current} of {total}"]`

* `[ctrkr_progress_text]` — Displays Completed X of Y lessons with navigation arrows.

  Example:
  `[ctrkr_progress_text text="Completed {completed} of {total} modules"]`

* `[ctrkr_progress_bar]` — Displays a standalone progress bar.

  Example:
  `[ctrkr_progress_bar text="{completed} of {total} modules complete ({percent}%)"]`


**Example:**

`[ctrkr_nav]` is intended for users who want to manually place course navigation in sidebars, templates, or custom page layouts.

For easier setup, Course Tracker also includes an optional automatic slide-in navigation panel available in plugin settings. When enabled, manual insertion of `[ctrkr_nav]` is not required.

Add `[ctrkr_complete_button]` to lesson pages so students can manually mark lessons complete when using shortcode-based layouts.

== Settings ==

- **Course Navigation Menu:** Choose the WordPress menu that represents your course.
- **Show Navigation Title:** Display a title above the course navigation.
- **Slide-in Tracker Panel:** Optionally enable a floating slide-in menu for navigation.
- **Custom Slide-in Content:** Add custom HTML, buttons, notices, downloads, or shortcodes below the slide-in navigation.
- **Navigation Styling Controls:** Adjust navigation spacing, active link behavior, and checkmark appearance.
- **Styling:** Customize button colors with the built-in Button Styler, or fine-tune further using the WordPress Customizer or your theme's CSS.
- **Student Reports:** View student progress and export to a spreadsheet.


== External Services ==

This plugin connects to [SureCart](https://surecart.com/) via `api.surecart.com` for license verification (to unlock the premium version).

- **What:** The entered license key is sent to SureCart for validation.
- **When:** Only when you enter or remove a license key in the plugin settings.
- **Data sent:** License key only — no student or course data.
- **Purpose:** To enable premium features after purchase.
- [SureCart Privacy Policy](https://surecart.com/privacy-policy/)


== Frequently Asked Questions ==

= Does this plugin require another LMS like LearnDash or TutorLMS? =

No. **Course Tracker is completely standalone** — it's not an add-on for any LMS platform. It uses your WordPress menu system and shortcodes to build your own lightweight learning platform directly inside WordPress.


= How does Course Tracker use the WordPress menu builder? =

Course Tracker connects to the **native WordPress Menu Builder** to create your course structure. Each menu item (lesson) becomes part of a visual course navigation panel. When a student marks a lesson as complete, a **checkmark** automatically appears next to that lesson.


= Do I need to code or edit templates? =

No coding is required. Course Tracker is **100% shortcode-driven**, so you can insert navigation, progress bars, and completion buttons anywhere. It works seamlessly with **Classic Editor, Gutenberg, Bricks Builder, Elementor**, and most other page builders.


= Do I need to use all the shortcodes? Which ones are required? =

You only need to use the **course navigation** shortcode (`[ctrkr_nav]`) and the **complete button** shortcode (`[ctrkr_complete_button]`) for the plugin to function effectively.

However, we suggest adding all shortcodes to a test post to see what each one does and how they enhance your course layout.


= Can I customize wording like “lessons” or “modules”? =

Yes. Several shortcodes support customizable text attributes, allowing you to change wording such as “lessons,” “modules,” “sections,” or “steps” to better match your course structure.


= Can I use this directly on a page or post? =

Yes, you can. But we recommend creating a **course or lesson template** in your page builder so your shortcodes appear consistently across all lessons. Otherwise, you'll need to insert shortcodes manually on each page, which isn't ideal.

For more about templates, please visit [rankbydesign.com](https://rankbydesign.com) and click **LMS** for video examples on building a course in Bricks Builder. More guides for other themes are coming soon, as Course Tracker works independently of any theme.


= Can I style the buttons and navigation? =

Yes! The plugin includes built-in styling controls to customize colors, spacing, active states, and checkmark styles. You can also fine-tune the look using the **WordPress Customizer or theme CSS**.

Need help matching your site's design? Reach out anytime — we're happy to help.


= Where is student progress stored? =

All student progress is stored privately in your **own WordPress database** and never sent to any external service. Students can also export/import their own progress files if needed.


= Does it work with my theme? =

Yes! Course Tracker is designed to work with **any modern WordPress theme or page builder.** Because it uses shortcodes and menus instead of theme-specific templates, it adapts cleanly to your layout.


= Is Course Tracker free? =

Yes. You can track progress for up to **20 users** (including the admin) for free.

For larger sites or unlimited users, you can upgrade with a small one-time fee, which helps support ongoing improvements and new features.


== Screenshots ==

1. Settings page.
2. Navigation setup.
3. Button styling.
4. Slide-in panel.
5. Student progress view.
6. Lesson example.
7. Course outline example.


== Changelog ==

= 1.1.8 =
* Added standalone `[ctrkr_progress_bar]` shortcode.
* Added customizable text support for progress and lesson shortcodes.
* Added custom HTML/shortcode content area below slide-in navigation.
* Added additional navigation styling controls and active state settings.
* Improved slide-in panel flexibility 

= 1.1.7 =
* Improved look for course navigation.
* New navigation styling settings added.
* Fixed CSV export issue for student reports.
* Tightened shortcode security and stability.

= 1.1.6 =
* Initial version released at WordPress Plugin Directory.
* Improved button styling and settings UI.

= 1.1.5 =
* Refinements and new options added to the slide-in panel.

= 1.1.4 =
* Fixed remaining domain handling errors with PCP.

= 1.1.3 =
* Fixed domain handling and improved data sanitation.
* No changes to plugin features or functionality.

= 1.1.0 =
* Plugin completely refactored for simplicity and security.
* Always saves progress permanently to WP database, even in free mode.
* Free mode supports up to 20 users; premium unlocks unlimited.
* Added color picker and slide-in tracker panel.
* Improved admin settings and license activation.

= 1.0.0 =
* Initial working version released at rankbydesign.com.