Support #9370

Text to Speech plugin

Added by scott voth about 2 years ago. Updated about 2 years ago.

Priority name:
Category name:
WordPress Plugins
Target version:
Start date:
Due date:
% Done:


Estimated time:


Hi Boone - Member Samuel Ghelli is using this new plugin for his Italian class - but each time the page reloads, he has to pick "Italian" from a dropdown list of over 50 languages. I looked at the code and made some changes to the back-end to add a "defaultVoice" option and to the front-end of the widget to default to that when voice when the page reloads. Seems to work fine. What is our policy for something like this? Can I just provide the zip file and we'll use it - or do we need to rename it, or do we need to contact the original author?

Thanks! (15.3 KB) scott voth, 2018-03-09 11:18 AM


#1 Updated by Boone Gorges about 2 years ago

  • Status changed from New to Reporter Feedback

Could you point out the place in the code where you made the change? I can take a look to see if there's a way that we can make such a change without changing the plugin's source code (via a filter or something like that). If so, we can create a small plugin for this specific site that'll set the default. If not, we can talk about alternative approaches. (In general, we don't modify plugin source code, as it wreaks havoc with future updates.)

#2 Updated by scott voth about 2 years ago

Thanks Boone - He also wanted the option to speak the text more slowly - so I added checkbox for that too. I have attached the zip file.

Changes to voice.js lines 16-19
changes to text-to-speech-widget.php - lines 50-60, 66, 82-90, 98-104

Hope this is not too much work for you.

#3 Updated by Boone Gorges about 2 years ago

  • Status changed from Reporter Feedback to Assigned
  • Target version set to 1.12.11

Thanks, Scott. I'll take a look and see what can be done in the next few days.

#4 Updated by Boone Gorges about 2 years ago

  • Status changed from Assigned to Hold

Hi Scott - I've had a chance to look over your changes. I have to say, the features you've suggested are pretty good additions to the plugin. If you want to pursue them, you might consider sending an enhancement request to the plugin author. It looks like this is the author's GitHub repo No idea whether he'll consider a pull request - it doesn't look like the repo has been updated since the plugin was initially added.

Unfortunately, I can't accept the changes as-is on the Commons, because we can't maintain plugin forks (except in extreme circumstances). So what I've done is move your mods into a separate plugin, which makes the requested changes in JS (there are no applicable filters in the PHP). Here's the changeset on the Commons repo, which I've just granted you access to: Note my trick in the plugin loader file: I wait until after the text-to-speech-widget plugin has registered its JS at wp_enqueue_scripts (with implied priority 10 - thus my own priority 20), and then I deregister its script and register our version of it with the same name. Then the mods in the voice.js file match your mods pretty closely. In a separate commit, I limited the plugin so that it can only be activated on the elementaryitalian site. I'll activate it there and verify that it works properly after the next release.

Thanks for your work on this - you went above and beyond. Let me know if you have more questions or thoughts about implementation on this ticket.

#5 Updated by scott voth about 2 years ago

Awesome Boone! Thanks!

#6 Updated by Raymond Hoh about 2 years ago

  • Status changed from Hold to Resolved

I've activated our custom text-to-speech plugin on Daniel's site.

Thanks for your work on this, Scott!

Also available in: Atom PDF