Kreva SRT Subtitles for Tutor LMS

Description

Tutor LMS masks its YouTube videos with Plyr, which hides the player’s native subtitle (CC) button. This plugin adds its own button that turns subtitles on/off from an .srt file YOU attach per lesson — it doesn’t depend on the video having captions on YouTube, manual or automatic.

Why custom subtitles instead of YouTube’s captions:

  • Full quality control: you review the .srt yourself, instead of relying on YouTube’s automatic speech recognition (which mangles negations and proper names).
  • Works the same with third-party videos: the video owner doesn’t need to have uploaded captions — only playback-time sync is needed, which YouTube’s API exposes for any embed.
  • Doesn’t touch the player: it hooks into the extension point Tutor deliberately exposes (window.TutorLessonPlayer / tutorLessonPlayerReady event), it doesn’t replace or interfere with Plyr.

How to use it:

  1. Activate the plugin.
  2. Go to Tutor LMS SRT Subtitles.
  3. Pick the .srt file for each lesson from the Media Library.
  4. The subtitles button appears automatically on that lesson — only on lessons that have an .srt uploaded.

Both administrators and Tutor instructors can manage subtitles.

This plugin requires the Tutor LMS plugin to be installed and active.

Screenshots

FAQ

Is the .srt file reachable at a public URL?

Yes. The file is uploaded to the WordPress Media Library, which serves attachments at a public URL by default (this is standard WordPress behavior, not something this plugin decides). Even though Tutor requires enrollment to view the full lesson, anyone who knows or guesses the direct .srt URL could download the transcript without being enrolled. If your lessons are paid and the .srt content is sensitive, keep this in mind — consider a private-media plugin if that’s a concern for your site.

Does it work with Vimeo or HTML5 video?

Syncing uses plyr.currentTime, which Plyr normalizes across providers. It hasn’t been formally tested outside of YouTube, but nothing in it is YouTube-specific.

What happens if I upload an .srt with formatting tags (“, “) exported from YouTube Studio?

The tags are stripped and the clean text is shown. Italics and color are not rendered.

Reviews

There are no reviews for this plugin.

Contributors & Developers

“Kreva SRT Subtitles for Tutor LMS” is open source software. The following people have contributed to this plugin.

Contributors

Changelog

0.1.4

  • Removed the bundled translation files (.po/.mo/.pot). Translations are handled through translate.wordpress.org once the plugin is hosted there.
  • Renamed the internal function, constant, asset and CSS-class prefixes to a plugin-specific namespace, to rule out any collision with the host plugin’s own identifiers.
  • Declared the Tutor LMS dependency through the Requires Plugins header (WordPress 6.5+).
  • Bounded the admin lesson query instead of loading every post at once.
  • Hardening: unslash request input before sanitizing, and escape the post-save redirect URL.
  • Tested up to bumped to 7.1.

0.1.3

  • Renamed from “Tutor LMS – Custom SRT Subtitles” (slug tutor-srt-subtitles) to “SRT Subtitles for Tutor LMS” (slug srt-subtitles-for-tutor-lms), per WordPress.org’s plugin directory guideline on trademarks (a third-party product name can’t be the sole or initial term of a plugin slug), and then to “Kreva SRT Subtitles for Tutor LMS” (slug kreva-srt-subtitles-for-tutor-lms) to add a distinctive brand identifier.
  • Added License / License URI to the plugin header and removed the discouraged load_plugin_textdomain() call.
  • Source strings (code and readme) switched from Spanish to English, the expected default for a WordPress.org plugin.

0.1.2

  • The permission model now uses manage_tutor_instructor (covers both instructors and administrators) instead of restricting everything to administrators.
  • The filter that allows uploading .srt files to the Media Library is now scoped by capability instead of being global.
  • Added an activation hook that defensively grants manage_tutor_instructor to the administrator role, in case Tutor’s own activation hook never ran on the site (e.g. cloned/imported installs).

0.1.1

  • Fix: .srt files exported from YouTube Studio carried formatting tags (<font>, <i>) that showed up as literal text in the overlay.

0.1.0

  • Initial release.