Presto Player

A modern video and audio player for courses, landing pages, marketing, and testimonials — with captions, branding, and page-builder support.

v4.2.3Andre GagnonUpdated 2026-06-04Added Feb 15, 2021100k+ installs96% rating0% support resolved
27
Score
131
Errors
124
Warnings
+0
Change

Category Scores

Security0
Repo90
Performance98
Maintainability20

Top Issues by Category

maintainability110
security84
i18n40

Issues Details

255 issues found in latest scan

ERROR32
WordPress.Security.EscapeOutput.OutputNotEscaped

All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '"<div class='notice {$noticeLevel} is-dismissible'><p>{$message}</p></div>"'.

ERROR32
WordPress.WP.I18n.MissingArgDomain

Missing $domain parameter in function call to __().

ERROR22
block_api_version_too_low

Editor blocks must define "apiVersion" 3 or higher in block.json for WordPress 7.0+ iframe editor compatibility.

WARNING14
WordPress.DB.DirectDatabaseQuery.DirectQuery

Use of a direct database call is discouraged.

ERROR14
missing_direct_file_access_protection

PHP file should prevent direct access. Add a check like: if ( ! defined( 'ABSPATH' ) ) exit;

WARNING13
PluginCheck.Security.DirectDB.UnescapedDBParameter

Unescaped parameter $audio_table used in $wpdb-&gt;get_var()

WARNING13
WordPress.DB.DirectDatabaseQuery.NoCaching

Direct database call without caching detected. Consider using wp_cache_get() / wp_cache_set() or wp_cache_delete().

WARNING12
WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedVariableFound

Global variables defined by a theme/plugin should start with the theme/plugin prefix. Found: &quot;$load_presto_js&quot;.

WARNING12
WordPress.Security.NonceVerification.Recommended

Processing form data without nonce verification.

WARNING8
WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedClassFound

Classes declared by a theme/plugin should start with the theme/plugin prefix. Found: &quot;BSF_Analytics&quot;.

ERROR8
WordPress.Security.EscapeOutput.UnsafePrintingFunction

All output should be run through an escaping function (like esc_html_e() or esc_attr_e()), found '_e'.

WARNING7
WordPress.Security.ValidatedSanitizedInput.MissingUnslash

$_POST[&#039;nonce&#039;] not unslashed before sanitization. Use wp_unslash() or similar

WARNING5
WordPress.NamingConventions.PrefixAllGlobals.DynamicHooknameFound

Hook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: &quot;$key . &#039;_tracking_enabled&#039;&quot;.

WARNING5
WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedHooknameFound

Hook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: &quot;bsf_core_stats&quot;.

WARNING5
WordPress.Security.ValidatedSanitizedInput.InputNotSanitized

Detected usage of a non-sanitized input variable: $_POST[&#039;nonce&#039;]

ERROR5
wp_function_not_compatible_with_requires_wp

Function "utf8_decode()" requires WordPress 6.9.0, but your plugin minimum supported version is WordPress 6.3.0.

WARNING4
WordPress.DB.PreparedSQL.InterpolatedNotPrepared

Use placeholders and $wpdb-&gt;prepare(); found interpolated variable $columns at &quot;CREATE TABLE IF NOT EXISTS $full_table_name ( $columns ) $table_options;&quot;

WARNING3
WordPress.DB.DirectDatabaseQuery.SchemaChange

Attempting a database schema change is discouraged.

ERROR3
WordPress.DB.PreparedSQL.NotPrepared

Use placeholders and $wpdb->prepare(); found $name

WARNING3
WordPress.DB.SlowDBQuery.slow_db_query_meta_query

Detected usage of meta_query, possible slow query.

WARNING3
WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedConstantFound

Global constants defined by a theme/plugin should start with the theme/plugin prefix. Found: &quot;BSF_ANALYTICS_URI&quot;.

ERROR3
WordPress.WP.I18n.MissingTranslatorsComment

A function call to __() with texts containing placeholders was found, but was not accompanied by a "translators:" comment on the line above to clarify the meaning of the placeholders.

ERROR3
WordPress.WP.I18n.TextDomainMismatch

Mismatched text domain. Expected 'presto-player' but got 'nps-survey'.

WARNING3
unexpected_markdown_file

Unexpected markdown file "CLAUDE.md" detected in plugin root. Only specific markdown files are expected in production plugins.

WARNING2
WordPress.WP.I18n.TextDomainMismatch

Mismatched text domain. Expected &#039;presto-player&#039; but got &#039;default&#039;.

Latest Snapshot

Findings

255

Errors

131

Warnings

124

Score History

First score snapshot

First scan completed Jun 19, 2026

v4.2.3 · Plugin Check 2.0.0 · Model 2026.06-mvp-static-v2

Jun 19, 2026

v4.2.3

27

Latest

Findings
255
Errors
131
Warnings
124
Plugin Check
2.0.0
Model
2026.06-mvp-static-v2

Related Plugins