PW WooCommerce Gift Cards

Sell gift cards to your WooCommerce store, in just a few minutes!

v2.43pimwickUpdated Added 20k+ installs94% rating100% support resolved
34
Score
238
Errors
185
Warnings
+0
Change

Category Scores

Security0
Repo94
Performance100
Maintainability47

Top Issues by Category

security276
maintainability122
i18n18

Issues Details

423 issues found in latest scan

ERROR110
WordPress.Security.EscapeOutput.OutputNotEscaped

All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '"$map[0] { $map[1]: $value; }\n"'.

ERROR86
WordPress.Security.EscapeOutput.UnsafePrintingFunction

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

WARNING47
WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedVariableFound

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

WARNING20
WordPress.DB.DirectDatabaseQuery.DirectQuery

Use of a direct database call is discouraged.

WARNING18
WordPress.DB.DirectDatabaseQuery.NoCaching

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

WARNING18
WordPress.Security.NonceVerification.Recommended

Processing form data without nonce verification.

WARNING18
WordPress.Security.ValidatedSanitizedInput.InputNotSanitized

Detected usage of a non-sanitized input variable: $_GET['card_number']

WARNING18
WordPress.Security.ValidatedSanitizedInput.MissingUnslash

$_GET['card_number'] not unslashed before sanitization. Use wp_unslash() or similar

WARNING13
WordPress.Security.ValidatedSanitizedInput.InputNotValidated

Detected usage of a possibly undefined superglobal array index: $_POST['amount']. Check that the array index exists before using it.

ERROR9
WordPress.WP.I18n.NonSingularStringLiteralText

The $text parameter must be a single text string literal. Found: $card_number

WARNING8
WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedHooknameFound

Hook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "product_variation_linked".

ERROR6
WordPress.WP.AlternativeFunctions.strip_tags_strip_tags

strip_tags() is discouraged. Use the more comprehensive wp_strip_all_tags() instead.

WARNING6
WordPress.WP.EnqueuedResourceParameters.NotInFooter

In footer ($in_footer) is not set explicitly wp_enqueue_script; It is recommended to load scripts in the footer. Please set this value to `true` to load it in the footer, or explicitly `false` if it should be loaded in the header.

WARNING5
WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedClassFound

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

ERROR5
WordPress.WP.I18n.MissingArgDomain

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

ERROR5
wp_function_not_compatible_with_requires_wp

Function "has_block()" requires WordPress 5.0.0, but your plugin minimum supported version is WordPress 4.5.0.

ERROR4
PluginCheck.Security.DirectDB.UnescapedDBParameter

Unescaped parameter $price_decimals used in $wpdb->get_row()\n$price_decimals assigned unsafely at line 10.

WARNING4
WordPress.DB.PreparedSQL.InterpolatedNotPrepared

Use placeholders and $wpdb->prepare(); found interpolated variable $active_sql at $active_sql\n

ERROR3
WordPress.DB.PreparedSQL.NotPrepared

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

WARNING3
trademarked_term

The plugin name includes a restricted term. Your chosen plugin name - "PW WooCommerce Gift Cards" - contains the restricted term "woocommerce" which cannot be used within in your plugin name, unless your plugin name contains one of the allowed patterns: "for woocommerce", "with woocommerce", "using woocommerce", or "and woocommerce". The term must still not appear anywhere else in your name.

WARNING2
WordPress.DB.DirectDatabaseQuery.SchemaChange

Attempting a database schema change is discouraged.

ERROR2
WordPress.Security.EscapeOutput.ExceptionNotEscaped

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

WARNING2
WordPress.WP.I18n.LowLevelTranslationFunction

Use of the "translate()" function is reserved for low-level API usage.

ERROR2
WordPress.WP.I18n.TextDomainMismatch

Mismatched text domain. Expected 'pw-woocommerce-gift-cards' but got 'woocommerce'.

ERROR2
missing_direct_file_access_protection

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

Latest Snapshot

Findings

423

Errors

238

Warnings

185

Score History

First score snapshot

First scan completed

v2.43 · Plugin Check 2.0.0 · Model 2026.06-mvp-static-v2

v2.43

34

Latest

Findings
423
Errors
238
Warnings
185
Plugin Check
2.0.0
Model
2026.06-mvp-static-v2

Related Plugins