Lightbox with PhotoSwipe

Integration of PhotoSwipe (http://photoswipe.com) for WordPress.

v5.8.5Arno WelzelUpdated 2026-06-10Added Nov 2, 201720k+ installs98% rating67% support resolved
37
Score
179
Errors
24
Warnings
+0
Change

Category Scores

Security0
Repo94
Performance100
Maintainability66

Top Issues by Category

security157
maintainability41
i18n4
repo_compliance1

Issues Details

203 issues found in latest scan

ERROR150
WordPress.Security.EscapeOutput.OutputNotEscaped

All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '$bg_opacity'.

ERROR12
missing_direct_file_access_protection

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

WARNING10
WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedVariableFound

Global variables defined by a theme/plugin should start with the theme/plugin prefix. Found: "$bg_opacity".

WARNING4
WordPress.DB.DirectDatabaseQuery.DirectQuery

Use of a direct database call is discouraged.

WARNING4
WordPress.DB.DirectDatabaseQuery.NoCaching

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

ERROR2
PluginCheck.Security.DirectDB.UnescapedDBParameter

Unescaped parameter $sql used in $wpdb->query()\n$sql assigned unsafely at line 1038.

ERROR2
WordPress.DB.PreparedSQL.NotPrepared

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

WARNING2
WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedClassFound

Classes declared by a theme/plugin should start with the theme/plugin prefix. Found: "ExifHelper".

ERROR2
WordPress.WP.AlternativeFunctions.file_system_operations_rmdir

File operations should use WP_Filesystem methods instead of direct PHP filesystem calls. Found: rmdir().

ERROR2
WordPress.WP.I18n.UnorderedPlaceholdersText

Multiple placeholders in translatable strings should be ordered. Expected "%1$d, %2$d", but got "%d, %d" in 'The smallest size (%d×%d pixels) will be used to check if a smaller image is available for the transition.'.

ERROR2
wp_function_not_compatible_with_requires_wp

Function "str_ends_with()" requires WordPress 5.9.0, but your plugin minimum supported version is WordPress 5.3.0.

WARNING1
Internal.NoCodeFound

No PHP code was found in this file and short open tags are not allowed by this install of PHP. This file may be using short open tags but PHP does not allow them.

WARNING1
PluginCheck.CodeAnalysis.DiscouragedFunctions.load_plugin_textdomainFound

load_plugin_textdomain() has been discouraged since WordPress version 4.6. When your plugin is hosted on WordPress.org, you no longer need to manually include this function call for translations under your plugin slug. WordPress will automatically load the translations for you as needed.

ERROR1
PluginCheck.CodeAnalysis.SettingSanitization.register_settingMissing

Sanitization missing for register_setting().

WARNING1
WordPress.Security.ValidatedSanitizedInput.InputNotSanitized

Detected usage of a non-sanitized input variable: $_POST['lbwps_nonce']

WARNING1
WordPress.Security.ValidatedSanitizedInput.MissingUnslash

$_POST['lbwps_nonce'] not unslashed before sanitization. Use wp_unslash() or similar

ERROR1
WordPress.WP.AlternativeFunctions.file_system_operations_is_writable

File operations should use WP_Filesystem methods instead of direct PHP filesystem calls. Found: is_writable().

ERROR1
WordPress.WP.AlternativeFunctions.parse_url_parse_url

parse_url() is discouraged because of inconsistency in the output across PHP versions; use wp_parse_url() instead.

ERROR1
WordPress.WP.AlternativeFunctions.unlink_unlink

unlink() is discouraged. Use wp_delete_file() to delete a file.

ERROR1
WordPress.WP.EnqueuedResources.NonEnqueuedScript

Scripts must be registered/enqueued via wp_enqueue_script()

ERROR1
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.

ERROR1
plugin_header_no_license

Missing "License" in Plugin Header. Please update your Plugin Header with a valid GPLv2 (or later) compatible license.

Latest Snapshot

Findings

203

Errors

179

Warnings

24

Score History

First score snapshot

First scan completed Jun 20, 2026

v5.8.5 · Plugin Check 2.0.0 · Model 2026.06-mvp-static-v2

Jun 20, 2026

v5.8.5

37

Latest

Findings
203
Errors
179
Warnings
24
Plugin Check
2.0.0
Model
2026.06-mvp-static-v2

Related Plugins