Text to Speech - TTSWP 3.2.7

Does Text to Speech - TTSWP work with WordPress 6.9.4 and PHP 8.1.12? A smoke test was performed on .

Summary

Errors
9PHP warnings
13Unrecognized messages in the PHP error log
No JavaScript exceptions
All test pages loaded successfully
No resource errors
Performance

Memory usage: 954.1 KiB
The average PHP memory usage increased by this amount after activating by the plugin.

Page speed impact: insignificant.
The plugin didn't make the site noticeably slower.

Environment
WordPress version6.9.4
PHP version8.1.12
MySQL version10.6.10
PHP memory limit512M
Plugin Info
Last updated
Active installs 100+
WordPress.org page https://wordpress.org/plugins/text-to-speech-tts/
Badges

WordPress compatibility badge PHP compatibility badge

Get badge code

Pages 20

Plugins ‹ Test site — WordPress

Page screenshot: Plugins ‹ Test site — WordPress
URL /wp-admin/plugins.php?plugin_status=all&paged=1&s
Requested URL /wp-admin/plugins.php?action=activate&plugin=text-to-speech-tts%2Ftext-to-speech-tts.php&plugin_status=all&paged=1&s&_wpnonce=dfe75aced1
Aspect after-activation
HTTP status 200
Load time 0.677 s
Memory usage 4.85 MiB
JS errors None
Resource errors None

Text to Speech

Page screenshot: Text to Speech
URL /wp-admin/admin.php?page=text-to-speech-tts-settings
Aspect menu-item
HTTP status 200
Load time 0.671 s
Memory usage 5.02 MiB
JS errors None
Resource errors None

Text to Speech → Voices

Page screenshot: Text to Speech → Voices
URL /wp-admin/admin.php?page=text-to-speech-tts-voices
Aspect menu-item
HTTP status 200
Load time 0.494 s
Memory usage 4.93 MiB
JS errors None
Resource errors None

Text to Speech → Player

Page screenshot: Text to Speech → Player
URL /wp-admin/admin.php?page=text-to-speech-tts-player
Aspect menu-item
HTTP status 200
Load time 0.717 s
Memory usage 4.91 MiB
JS errors None
Resource errors None

Text to Speech → Content

Page screenshot: Text to Speech → Content
URL /wp-admin/admin.php?page=text-to-speech-tts-content
Aspect menu-item
HTTP status 200
Load time 0.640 s
Memory usage 4.79 MiB
JS errors None
Resource errors None

Text to Speech → Shortcode Generator

Page screenshot: Text to Speech → Shortcode Generator
URL /wp-admin/admin.php?page=text-to-speech-tts-generator
Aspect menu-item
HTTP status 200
Load time 0.528 s
Memory usage 4.95 MiB
JS errors None
Resource errors None

Text to Speech → Word Replacement

Page screenshot: Text to Speech → Word Replacement
URL /wp-admin/admin.php?page=text-to-speech-tts-word-replacement
Aspect menu-item
HTTP status 200
Load time 0.433 s
Memory usage 4.72 MiB
JS errors None
Resource errors None

Text to Speech → CSS Selectors

Page screenshot: Text to Speech → CSS Selectors
URL /wp-admin/admin.php?page=text-to-speech-tts-css-selectors
Aspect menu-item
HTTP status 200
Load time 0.388 s
Memory usage 4.71 MiB
JS errors None
Resource errors None

Text to Speech → Speech to Text

Page screenshot: Text to Speech → Speech to Text
URL /wp-admin/admin.php?page=text-to-speech-tts-speech-to-text
Aspect menu-item
HTTP status 200
Load time 0.425 s
Memory usage 4.75 MiB
JS errors None
Resource errors None

Text to Speech → My Stats

Page screenshot: Text to Speech → My Stats
URL /wp-admin/admin.php?page=text-to-speech-tts-my-stats-voices
Aspect menu-item
HTTP status 200
Load time 0.619 s
Memory usage 4.78 MiB
JS errors None
Resource errors None

Text to Speech → Audio Statistics

Page screenshot: Text to Speech → Audio Statistics
URL /wp-admin/admin.php?page=text-to-speech-tts-statistics
Aspect menu-item
HTTP status 200
Load time 0.377 s
Memory usage 4.93 MiB
JS errors None
Resource errors None

Text to Speech → Audio Library

Page screenshot: Text to Speech → Audio Library
URL /wp-admin/admin.php?page=text-to-speech-tts-audio-library
Aspect menu-item
HTTP status 200
Load time 0.539 s
Memory usage 4.88 MiB
JS errors None
Resource errors None

Text to Speech → My Plan & Credits

Page screenshot: Text to Speech → My Plan & Credits
URL /wp-admin/admin.php?page=text-to-speech-tts-account
Aspect menu-item
HTTP status 200
Load time 0.629 s
Memory usage 4.77 MiB
JS errors None
Resource errors None

Text to Speech → White Label

Page screenshot: Text to Speech → White Label
URL /wp-admin/admin.php?page=text-to-speech-tts-white-label
Aspect menu-item
HTTP status 200
Load time 0.386 s
Memory usage 4.79 MiB
JS errors None
Resource errors None

Text to Speech → Affiliate Program

Page screenshot: Text to Speech → Affiliate Program
URL /wp-admin/admin.php?page=text-to-speech-tts-affiliate
Aspect menu-item
HTTP status 200
Load time 0.369 s
Memory usage 4.71 MiB
JS errors None
Resource errors None

Text to Speech → Advanced

Page screenshot: Text to Speech → Advanced
URL /wp-admin/admin.php?page=text-to-speech-tts-advanced
Aspect menu-item
HTTP status 200
Load time 0.410 s
Memory usage 4.73 MiB
JS errors None
Resource errors None

Text to Speech → PRO Support

Page screenshot: Text to Speech → PRO Support
URL /wp-admin/admin.php?page=text-to-speech-tts-pro-help
Aspect menu-item
HTTP status 200
Load time 0.176 s
Memory usage N/A
JS errors None
Resource errors None

Text to Speech → Documentation

Page screenshot: Text to Speech → Documentation
URL /wp-admin/admin.php?page=text-to-speech-tts-documentation
Aspect menu-item
HTTP status 200
Load time 0.355 s
Memory usage 4.71 MiB
JS errors None
Resource errors None

Text to Speech →

Page screenshot: Text to Speech →
URL /wp-admin/admin.php?page=text-to-speech-tts-upgrade
Aspect menu-item
HTTP status 200
Load time 0.634 s
Memory usage 4.75 MiB
JS errors None
Resource errors None

Test site – Just another WordPress site

Page screenshot: Test site – Just another WordPress site
URL /
Aspect front-page
HTTP status 200
Load time 0.297 s
Memory usage 4.47 MiB
JS errors None
Resource errors None

Benchmark

URL Load time Memory usage
Inactive Active Change Inactive Active Change
/wp-admin/index.php0.487 s0.513 s+0.026 s3.78 MiB4.77 MiB+ 1020.32 KiB
/wp-admin/edit.php0.397 s0.394 s-0.003 s3.78 MiB4.86 MiB+ 1.08 MiB
/wp-admin/post-new.php0.841 s1.019 s+0.178 s6.31 MiB7.36 MiB+ 1.05 MiB
/wp-admin/upload.php0.487 s0.508 s+0.021 s3.74 MiB4.7 MiB+ 986.74 KiB
/wp-admin/options-writing.php0.353 s0.348 s-0.005 s3.71 MiB4.66 MiB+ 975.17 KiB
/wp-admin/media-new.php0.546 s0.524 s-0.022 s3.7 MiB4.66 MiB+ 983.37 KiB
/wp-admin/edit-tags.php?taxonomy=category0.352 s0.346 s-0.006 s3.72 MiB4.69 MiB+ 994.13 KiB
/wp-admin/post-new.php?post_type=page0.747 s0.722 s-0.025 s6.3 MiB7.31 MiB+ 1.01 MiB
/wp-admin/options-discussion.php0.361 s0.408 s+0.047 s3.71 MiB4.66 MiB+ 971.67 KiB
/wp-admin/edit-comments.php0.347 s0.386 s+0.039 s3.74 MiB4.68 MiB+ 971.27 KiB
/0.305 s0.213 s-0.092 s4.11 MiB4.47 MiB+ 373.26 KiB
Average 0.475 s0.489 s+0.014 s4.24 MiB5.17 MiB+ 954.1 KiB

Code Statistics

Note: Third-party libraries and minified JS/CSS files are excluded from these statistics where possible, so the numbers you see here may be lower than those reported by other tools.

PHP
CSS
JavaScript
Language % Lines of code Comment lines Files
PHP56.0%29,8248,24273
CSS24.3%12,97483026
JavaScript19.4%10,3392,41142
SVG0.2%124165
XML0.1%3641
Total 53,297 11,488 207

PHP Code Analysis | More results »

Lines of code 20,702
Total complexity 4,195
Median class complexity 59.0
Median method complexity 3.0
Most complex class Mementor_TTS_Admin
Most complex function Mementor_TTS_Ajax::generate_audio()
Classes 32
Methods 592
Functions 32

Additions

Things that the plugin adds to the site. This section is not intended to be comprehensive. The test tool only looks for a few specific types of added content.

Database Tables 6

Options wp_options 12

PHP Error Log 22 lines

[22-Apr-2026 15:45:14 UTC] [TTS] Created/updated database tables (version: 1.1.1)
[22-Apr-2026 15:45:28 UTC] PHP Warning:  Undefined variable $prev_stats in /wp-content/plugins/text-to-speech-tts/admin/partials/pages/statistics.php on line 127
[22-Apr-2026 15:45:28 UTC] PHP Warning:  Undefined variable $prev_stats in /wp-content/plugins/text-to-speech-tts/admin/partials/pages/statistics.php on line 128
[22-Apr-2026 15:45:28 UTC] PHP Warning:  Undefined variable $prev_stats in /wp-content/plugins/text-to-speech-tts/admin/partials/pages/statistics.php on line 129
[22-Apr-2026 15:45:28 UTC] PHP Warning:  Undefined variable $prev_stats in /wp-content/plugins/text-to-speech-tts/admin/partials/pages/statistics.php on line 130
[22-Apr-2026 15:45:28 UTC] PHP Warning:  Undefined variable $prev_stats in /wp-content/plugins/text-to-speech-tts/admin/partials/pages/statistics.php on line 131
[22-Apr-2026 15:45:28 UTC] PHP Warning:  Undefined variable $prev_stats in /wp-content/plugins/text-to-speech-tts/admin/partials/pages/statistics.php on line 132
[22-Apr-2026 15:45:28 UTC] PHP Warning:  Undefined variable $prev_stats in /wp-content/plugins/text-to-speech-tts/admin/partials/pages/statistics.php on line 133
[22-Apr-2026 15:45:28 UTC] PHP Warning:  Undefined variable $prev_stats in /wp-content/plugins/text-to-speech-tts/admin/partials/pages/statistics.php on line 134
[22-Apr-2026 15:45:28 UTC] PHP Warning:  Undefined variable $prev_stats in /wp-content/plugins/text-to-speech-tts/admin/partials/pages/statistics.php on line 135
[22-Apr-2026 15:45:39 UTC] TTS: maybe_append_to_content called - THIS SHOULD NOT HAPPEN FOR before_title!
[22-Apr-2026 15:45:39 UTC] TTS: Current position in append: after_content
[22-Apr-2026 15:45:41 UTC] [TTS Auto-Gen] Hook called - new_status: auto-draft, old_status: new, post_id: 39, post_type: post
[22-Apr-2026 15:45:41 UTC] [TTS Auto-Gen] Skipping - not a new publish (new: auto-draft, old: new)
[22-Apr-2026 15:45:41 UTC] TTS: maybe_append_to_content called - THIS SHOULD NOT HAPPEN FOR before_title!
[22-Apr-2026 15:45:41 UTC] TTS: Current position in append: after_content
[22-Apr-2026 15:45:46 UTC] [TTS Auto-Gen] Hook called - new_status: auto-draft, old_status: new, post_id: 40, post_type: page
[22-Apr-2026 15:45:46 UTC] [TTS Auto-Gen] Skipping - not a new publish (new: auto-draft, old: new)
[22-Apr-2026 15:45:46 UTC] TTS: maybe_append_to_content called - THIS SHOULD NOT HAPPEN FOR before_title!
[22-Apr-2026 15:45:46 UTC] TTS: Current position in append: after_content
[22-Apr-2026 15:45:50 UTC] TTS: maybe_append_to_content called - THIS SHOULD NOT HAPPEN FOR before_title!
[22-Apr-2026 15:45:50 UTC] TTS: Current position in append: after_content
See also: All tests for this plugin, How to Hide Text to Speech - TTSWP Admin Menus