PW WooCommerce Bulk Edit

A powerful way to update your WooCommerce product catalog. Finally, no more tedious clicking through countless pages!

v2.141pimwickUpdated 2026-05-22Added Sep 9, 201620k+ installs98% rating
34
Score
219
Errors
149
Warnings
+0
Change

Category Scores

Security0
Repo94
Performance100
Maintainability47

Top Issues by Category

security215
maintainability90
i18n54

Issues Details

368 issues found in latest scan

ERROR103
WordPress.Security.EscapeOutput.UnsafePrintingFunction

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

ERROR43
WordPress.Security.EscapeOutput.OutputNotEscaped

All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '"<option value='$value' class='pwbe-dropdown-visibility-$option[visibility]'>$option[name]</option>\n"'.

WARNING41
WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedVariableFound

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

ERROR38
WordPress.WP.I18n.TextDomainMismatch

Mismatched text domain. Expected 'pw-bulk-edit' but got 'pw-woocommerce-coupons-plus'.

WARNING31
WordPress.DB.PreparedSQL.InterpolatedNotPrepared

Use placeholders and $wpdb-&gt;prepare(); found interpolated variable $common_joins at \t\t\t\t$common_joins\n

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

WARNING11
WordPress.DB.DirectDatabaseQuery.DirectQuery

Use of a direct database call is discouraged.

WARNING11
WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedHooknameFound

Hook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: &quot;&#039;woocommerce_get_sections_&#039; . $this-&gt;id&quot;.

WARNING9
WordPress.DB.DirectDatabaseQuery.NoCaching

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

WARNING7
WordPress.Security.ValidatedSanitizedInput.InputNotSanitized

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

WARNING7
WordPress.Security.ValidatedSanitizedInput.InputNotValidated

Detected usage of a possibly undefined superglobal array index: $_POST[&#039;name&#039;]. Check that the array index exists before using it.

WARNING7
WordPress.Security.ValidatedSanitizedInput.MissingUnslash

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

ERROR4
PluginCheck.Security.DirectDB.UnescapedDBParameter

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

WARNING4
WordPress.DB.DirectDatabaseQuery.SchemaChange

Attempting a database schema change is discouraged.

ERROR4
WordPress.DB.PreparedSQL.NotPrepared

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

WARNING4
WordPress.Security.NonceVerification.Missing

Processing form data without nonce verification.

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

WARNING3
Squiz.PHP.DiscouragedFunctions.Discouraged

The use of function ini_set() is discouraged

WARNING3
WordPress.DB.PreparedSQLPlaceholders.ReplacementsWrongNumber

Incorrect number of replacements passed to $wpdb-&gt;prepare(). Found 1 replacement parameters, expected 2.

WARNING2
WordPress.DB.PreparedSQLPlaceholders.UnfinishedPrepare

Replacement variables found, but no valid placeholders found in the query.

WARNING2
WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedClassFound

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

WARNING2
trademarked_term

The plugin name includes a restricted term. Your chosen plugin name - "PW WooCommerce Bulk Edit" - 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.

WARNING1
Internal.LineEndings.Mixed

File has mixed line endings; this may cause incorrect results

ERROR1
PluginCheck.CodeAnalysis.WriteFile.PluginDirectoryWrite

Plugin folders are deleted when upgraded. Do not save data to the plugin folder using file_put_contents(). Detected usage of function plugin_dir_path(). Use wp_upload_dir() to get the uploads directory path or save to the database instead.

ERROR1
WordPress.DB.RestrictedFunctions.mysql_mysqli_error

Accessing the database directly should be avoided. Please use the $wpdb object and associated functions instead. Found: mysqli_error.

Latest Snapshot

Findings

368

Errors

219

Warnings

149

Score History

First score snapshot

First scan completed Jun 20, 2026

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

Jun 20, 2026

v2.141

34

Latest

Findings
368
Errors
219
Warnings
149
Plugin Check
2.0.0
Model
2026.06-mvp-static-v2

Related Plugins