Plugin Check is a WordPress.org tool which provides checks to help plugins meet the directory requirements and follow various best practices.
Default_Check_Repository::register_default_checks()
method for a quick overview of currently available checks.Static_Check
or the Runtime_Check
interface.Abstract_File_Check
, the Abstract_PHPCodeSniffer_Check
, or the Abstract_Runtime_Check
class.The WordPress plugin checker is a WordPress plugin itself, which can be installed on any WordPress site. While it is implemented in a way that should avoid any disruptions on the site that it is being used on, it is still advised not to use the plugin checker in a production environment.
Currently, the only way to install the plugin checker is to download it from this GitHub repository. Please see the contributing section below for further instructions. Once a first beta version is available, it will be distributed in a standalone ZIP file, e.g. via the wordpress.org plugin repository.
After having the plugin activated, you can analyze any other plugin installed on the same site, either using the WP Admin user interface or WP-CLI:
wp plugin check
command. For example, to check the "Hello Dolly" plugin: wp plugin check hello.php
--require
argument of WP-CLI, to manually load the cli.php
file within the plugin checker directory before WordPress is loaded. For example: wp plugin check hello.php --require=./wp-content/plugins/plugin-check/cli.php
wp plugin check https://example.com/plugin.zip
or to check a plugin from a path: wp plugin check /path/to/plugin
Screenshot of the plugin checker's UI in WP Admin
To set up the repository locally, you will need to clone this GitHub repository (or a fork of it) and then install the relevant dependencies:
git clone https://github.com/WordPress/plugin-check.git wp-content/plugins/plugin-check
cd wp-content/plugins/plugin-check
composer install
npm install
With the above commands, you can use the plugin in any development environment as you like. The recommended way is to use the built-in development environment, which is based on the @wordpress/env
package, as that will allow you to use the preconfigured commands to e.g. run unit tests, linting etc. You will need to have Docker installed to use this environment.
You can start the built-in environment as follows:
npm run wp-env start
If you want to stop the environment again, you can use:
npm run wp-env stop
For further information on contributing, please see the contributing guide.
To learn more about the functionality and technical details of the WordPress plugin checker, please refer to the technical documentation.
The WordPress plugin checker is free software, and is released under the terms of the GNU General Public License version 2 or (at your option) any later version. See LICENSE for complete license.