AI Product Tools – Bulk Product Content Generator & AI Toolkit for WooCommerce

All-in-One AI Suite for WooCommerce: Generate product descriptions, titles, tags, FAQs, alt text, SEO meta & chatbot via top AI models.

v2.6.4Dogu PekgozUpdated Added 400 installs94% rating100% support resolved
30
Score
502
Errors
560
Warnings
+0
Change

Category Scores

Security0
Repo100
Performance100
Maintainability23

Issues to Review

Prioritized issue groups from the latest Plugin Check scan

1,062 findings

Security

673

9 issue groups

Maintainability

384

15 issue groups

I18n

1

1 issue group

ERRORSecuritySQL query is not preparedUse placeholders and $wpdb->prepare(); found $args262
Category
Security
Occurrences
262
Severity
error

Sample message

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

WARNINGMaintainabilityDirect QueryUse of a direct database call is discouraged.149
Category
Maintainability
Occurrences
149
Severity
warning

Sample message

Use of a direct database call is discouraged.

ERRORSecurityException output is not escapedAll output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '"Job cannot be paused in current status: {$job->status}"'.148
Category
Security
Occurrences
148
Severity
error

Sample message

All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '"Job cannot be paused in current status: {$job->status}"'.

WARNINGMaintainabilityNo CachingDirect database call without caching detected. Consider using wp_cache_get() / wp_cache_set() or wp_cache_delete().137
Category
Maintainability
Occurrences
137
Severity
warning

Sample message

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

WARNINGSecurityInterpolated SQL is not preparedUse placeholders and $wpdb->prepare(); found interpolated variable $ids_in at "UPDATE {$this->job_products_table} SET status = %s, error_message = %s WHERE job_id = %d AND product_id IN ($ids_in)"120
Category
Security
Occurrences
120
Severity
warning

Sample message

Use placeholders and $wpdb->prepare(); found interpolated variable $ids_in at "UPDATE {$this->job_products_table} SET status = %s, error_message = %s WHERE job_id = %d AND product_id IN ($ids_in)"

ERRORSecurityDatabase parameter is not escapedUnescaped parameter $chatbot_table used in $wpdb->get_results()\n$chatbot_table assigned unsafely at line 20.54
Category
Security
Occurrences
54
Severity
error

Sample message

Unescaped parameter $chatbot_table used in $wpdb->get_results()\n$chatbot_table assigned unsafely at line 20.

WARNINGSecurityDatabase parameter is not escapedUnescaped parameter $job_products_table used in $wpdb->get_results()\n$job_products_table assigned unsafely at line 1538.52
Category
Security
Occurrences
52
Severity
warning

Sample message

Unescaped parameter $job_products_table used in $wpdb->get_results()\n$job_products_table assigned unsafely at line 1538.

WARNINGMaintainabilityerror log error logerror_log() found. Debug code should not normally be used in production.33
Category
Maintainability
Occurrences
33
Severity
warning

Sample message

error_log() found. Debug code should not normally be used in production.

WARNINGSecurityNonce verification recommendedProcessing form data without nonce verification.15
Category
Security
Occurrences
15
Severity
warning

Sample message

Processing form data without nonce verification.

WARNINGMaintainabilitySchema ChangeAttempting a database schema change is discouraged.14
Category
Maintainability
Occurrences
14
Severity
warning

Sample message

Attempting a database schema change is discouraged.

Show 15 more
ERRORMaintainabilityunlink unlink14
Category
Maintainability
Occurrences
14
Severity
error

Sample message

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

WARNINGSecurityUnfinished Prepare11
Category
Security
Occurrences
11
Severity
warning

Sample message

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

ERRORSecurityOutput is not escaped10
Category
Security
Occurrences
10
Severity
error

Sample message

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

ERRORMaintainabilityrename rename9
Category
Maintainability
Occurrences
9
Severity
error

Sample message

rename() is discouraged. Use WP_Filesystem::move() to rename a file.

WARNINGMaintainabilityNon-prefixed global variable8
Category
Maintainability
Occurrences
8
Severity
warning

Sample message

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

WARNINGMaintainabilityslow db query meta key4
Category
Maintainability
Occurrences
4
Severity
warning

Sample message

Detected usage of meta_key, possible slow query.

WARNINGMaintainabilityDynamic hook name4
Category
Maintainability
Occurrences
4
Severity
warning

Sample message

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

WARNINGMaintainabilityslow db query meta query3
Category
Maintainability
Occurrences
3
Severity
warning

Sample message

Detected usage of meta_query, possible slow query.

ERRORMaintainabilitydate date3
Category
Maintainability
Occurrences
3
Severity
error

Sample message

date() is affected by runtime timezone changes which can cause date/time to be incorrectly displayed. Use gmdate() instead.

WARNINGMaintainabilityMixed line endings2
Category
Maintainability
Occurrences
2
Severity
warning

Sample message

File has mixed line endings; this may cause incorrect results

WARNINGMaintainabilityslow db query tax query2
Category
Maintainability
Occurrences
2
Severity
warning

Sample message

Detected usage of tax_query, possible slow query.

WARNINGI18nDiscouraged text-domain loading1
Category
I18n
Occurrences
1
Severity
warning

Sample message

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.

WARNINGMaintainabilityDiscouraged PHP function1
Category
Maintainability
Occurrences
1
Severity
warning

Sample message

The use of function set_time_limit() is discouraged

WARNINGSecurityReplacements Wrong Number1
Category
Security
Occurrences
1
Severity
warning

Sample message

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

WARNINGMaintainabilityNon-prefixed hook name1
Category
Maintainability
Occurrences
1
Severity
warning

Sample message

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

External Connections

Potential connections found in static code analysis.

49 domains

Outbound calls

243

External assets

3

Incoming endpoints

54

Notable Domains

aiforwoo.com14 · outbound
freemius.com10 · outbound
openrouter.ai7 · outbound
api.aiforwoo.com6 · outbound
php.net6 · outbound
aistudio.google.com4 · outbound

Platform / Reference Domains

gnu.org109 · platform/reference
w3.org17 · platform/reference
wordpress.org7 · platform/reference
core.trac.wordpress.org3 · platform/reference
api.wordpress.org2 · platform/reference
github.com2 · platform/reference
make.wordpress.org2 · platform/reference
developer.wordpress.org1 · platform/reference
schema.org1 · platform/reference

External Asset Domains

fonts.googleapis.com2 · asset + outbound

Incoming Endpoints

/wp-json/aipt/v1/ai-availabilityREST

register_rest_route

/wp-json/aipt/v1/chatbot/test-payloadREST

register_rest_route

/wp-json/aipt/v1/connectors-statusREST

register_rest_route

/wp-json/aipt/v1/custom-fieldsREST

register_rest_route

/wp-json/aipt/v1/custom-variablesREST

register_rest_route

/wp-json/aipt/v1/dashboard/pricing-statusREST

register_rest_route

Admin AJAX endpoints5
admin_post_fs_clone_resolutionauthenticated

admin_post

wp_ajax_aipt_dismiss_sdk_conflictauthenticated

wp_ajax

wp_ajax_aipt_force_license_reverifyauthenticated

wp_ajax

wp_ajax_fs_dismiss_notice_action_{$ajax_action_suffix}authenticated

wp_ajax

wp_ajax_fs_toggle_debug_modeauthenticated

wp_ajax

Score History

First score snapshot

v2.6.4

30

Latest

Findings
1,062
Errors
502
Warnings
560
Check
2.0.0

Relationship Map

Author, categories, issues, domains, and nearby plugins.

36 nodes

Related

Related Plugins