Restrict content based on login status, user roles, device type & more. Monetize your content with a paywall or members-only content.
Prioritized issue groups from the latest Plugin Check scan
Maintainability
125
17 issue groups
Performance
6
2 issue groups
I18n
3
2 issue groups
Repo Compliance
2
2 issue groups
Sample message
Hook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "content_control/block_styles".
Sample message
PHP file should prevent direct access. Add a check like: if ( ! defined( 'ABSPATH' ) ) exit;
Sample message
Hook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "$filter_name".
Sample message
Functions declared in the global namespace by a theme/plugin should start with the theme/plugin prefix. Found: "content_control".
Sample message
The use of function ini_set() is discouraged
Sample message
Use of heredoc syntax (<<<) is not allowed; use standard strings or inline HTML instead
Sample message
Using exclusionary parameters, like exclude, in calls to get_posts() should be done with caution, see https://wpvip.com/documentation/performance-improvements-by-removing-usage-of-post__not_in/ for more information.
Sample message
Global variables defined by a theme/plugin should start with the theme/plugin prefix. Found: "$$this".
Sample message
Namespaces declared by a theme/plugin should start with the theme/plugin prefix. Found: "JP\CC".
Sample message
Mismatched text domain. Expected 'content-control' but got 'default'.
Sample message
Using exclusionary parameters, like post__not_in, in calls to get_posts() should be done with caution, see https://wpvip.com/documentation/performance-improvements-by-removing-usage-of-post__not_in/ for more information.
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
Plugin folders are deleted when upgraded. Do not save data to the plugin folder using unzip_file(). 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
Classes declared by a theme/plugin should start with the theme/plugin prefix. Found: "JP_Content_Control".
Sample message
Your plugin has an invalid license declared. Please update your readme with a valid SPDX license identifier.
Sample message
Tested up to: 7.0.0 The version number should only include major versions 7.0.
Sample message
Plugin name "Content Control - The Ultimate Content Restriction Plugin! Restrict Content, Create Conditional Blocks & More" is different from the name declared in plugin header "Content Control".
Sample message
The "/vendor" directory using composer exists, but "composer.json" file is missing.
Sample message
Missing "License" in Plugin Header. Please update your Plugin Header with a valid GPLv2 (or later) compatible license.
Sample message
Plugin Updater detected. These are not permitted in WordPress.org hosted plugins. Detected: site_transient_update_plugins
Sample message
The plugin name includes a restricted term. Your chosen plugin name - "Content Control - The Ultimate Content Restriction Plugin! Restrict Content, Create Conditional Blocks & More" - contains the restricted term "plugin" which cannot be used at all in your plugin name.
Sample message
Check for WP_UNINSTALL_PLUGIN constant missing.
Sample message
Plugin Updater detected. Detected code which may be altering WordPress update routines. Detected: _site_transient_update_plugins
Not analyzed yet.
First score snapshot
v2.6.5
88
Latest
| Scan | Score | Findings | Errors | Warnings | Plugin | Check |
|---|---|---|---|---|---|---|
| Latest | 88 | 136 | 20 | 116 | v2.6.5 | 2.0.0 |
Author, categories, issues, domains, and nearby plugins.