Multilingual plugin for WordPress. Go Multilingual in minutes with full WordPress support. Translate your site easily with this localization plugin.
Prioritized issue groups from the latest Plugin Check scan
Maintainability
62
11 issue groups
Security
59
9 issue groups
I18n
2
2 issue groups
Supply Chain
1
1 issue group
Sample message
Unescaped parameter $column used in $wpdb->get_results()\n$column assigned unsafely at line 240.
Sample message
Use of a direct database call is discouraged.
Sample message
Direct database call without caching detected. Consider using wp_cache_get() / wp_cache_set() or wp_cache_delete().
Sample message
$_GET['search'] not unslashed before sanitization. Use wp_unslash() or similar
Sample message
Detected usage of a non-sanitized input variable: $_FILES["wpm_import_xliff_file"]["name"]
Sample message
Plugin folders are deleted when upgraded. Do not save data to the plugin folder using file_put_contents(). Detected usage of constant WP_CONTENT_DIR. Use wp_upload_dir() to get the uploads directory path or save to the database instead.
Sample message
The use of function ini_set() is discouraged
Sample message
PHP file should prevent direct access. Add a check like: if ( ! defined( 'ABSPATH' ) ) exit;
Sample message
Detected usage of a possibly undefined superglobal array index: $_POST['wpmpro_autotranslate_nonce']. Check that the array index exists before using it.
Sample message
Processing form data without nonce verification.
Sample message
Function "register_block_type()" requires WordPress 5.0.0, but your plugin minimum supported version is WordPress 4.7.0.
Sample message
Use placeholders and $wpdb->prepare(); found interpolated variable $gf_options->option_id at "DELETE FROM {$wpdb->options} WHERE option_id=$gf_options->option_id"
Sample message
The plugin name includes a restricted term. Your chosen plugin name - "WP Multilang - Translation and Multilingual Plugin" - contains the restricted term "plugin" which cannot be used at all in your plugin name.
Sample message
All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '$error_message'.
Sample message
Processing form data without nonce verification.
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.
Sample message
Use placeholders and $wpdb->prepare(); found $sql
Sample message
Detected usage of meta_key, possible slow query.
Sample message
In footer ($in_footer) is not set explicitly wp_register_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.
Sample message
A function call to esc_html__() 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.
Sample message
Hidden files are not permitted.
Sample message
Plugin name "WP Multilang - Translation and Multilingual Plugin" is different from the name declared in plugin header "WP Multilang".
Sample message
The "/vendor" directory using composer exists, but "composer.json" file is missing.
Potential connections found in static code analysis.
Outbound calls
63
External assets
2
Incoming endpoints
7
wp_ajax
wp_ajax
admin_post
wp_ajax
wp_ajax
wp_ajax
wp_ajax
3 score snapshots
v2.4.31
35
Latest
v2.4.30
33
Score
| Scan | Score | Findings | Errors | Warnings | Plugin | Check |
|---|---|---|---|---|---|---|
| Latest | 35 | 124 | 22 | 102 | v2.4.31 | 2.0.0 |
| 33 | 171 | 53 | 118 | v2.4.30 | 2.0.0 |
Author, categories, issues, domains, and nearby plugins.