Plugin Check (PCP)

Descripción

Plugin Check is a tool for testing whether your plugin meets the required standards for the WordPress.org plugin directory. With this plugin you will be able to run most of the checks used for new submissions, and check if your plugin meets the requirements.

Additionally, the tool flags violations or concerns around plugin development best practices, from basic requirements like correct usage of internationalization functions to accessibility, performance, and security best practices.

The checks can be run either using the WP Admin user interface or WP-CLI:

  • To check a plugin using WP Admin, please navigate to the Tools > Plugin Check menu. You need to be able to manage plugins on your site in order to access that screen.
  • To check a plugin using WP-CLI, please use the wp plugin check command. For example, to check the «Hello Dolly» plugin: wp plugin check hello.php
    • Note that by default when using WP-CLI, only static checks can be executed. In order to also include runtime checks, a workaround is currently necessary using the --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

The checks are grouped into several categories, so that you can customize which kinds of checks you would like to run on a plugin.

Ten en cuenta que este plugin aún no sustituye al proceso de revisión manual, pero te ayudará a acelerar el proceso de aprobación de tu plugin en el repositorio de plugins de WordPress.org, y también te ayudará a evitar algunos errores comunes.

Even if you do not intend to host your plugin in the WordPress.org directory, you are encouraged to use Plugin Check so that your plugin follows the base requirements and best practices for WordPress plugins.

Instalación

Installation from within WordPress

  1. Visit Plugins > Add New.
  2. Search for Plugin Check.
  3. Install and activate the Plugin Check plugin.

Manual installation

  1. Upload the entire plugin-check folder to the /wp-content/plugins/ directory.
  2. Visit Plugins.
  3. Activate the Plugin Check plugin.

FAQ

¿Dónde puedo contribuir al plugin?

Todo el desarrollo de este plugin se lleva a cabo a través de GitHub. Cualquier problema o pull request debe publicarse allí.

What if the plugin reports something that’s correct as an «error» or «warning»?

We strive to write a plugin in a way that minimizes false positives but if you find one, please report it in the GitHub repo. For certain false positives, such as those detected by PHPCodeSniffer, you may be able to annotate the code to ignore the specific problem for a specific line.

¿Por qué marca algo como malo?

No marca cosas «malas» como tales. Plugin Check está diseñado para ser una forma no perfecta de comprobar el cumplimiento de las directrices de revisión de plugins. No todos los plugins deben cumplir estas directrices. El propósito de la herramienta de comprobación es garantizar que los plugins subidos al repositorio central de plugins de WordPress.org cumplen los últimos estándares de plugins de WordPress y funcionarán en una amplia variedad de sitios.

Muchos sitios utilizan plugins personalizados, y eso está perfectamente bien. Pero los plugins que están destinados a ser utilizados en muchos tipos diferentes de sitios por el público deben tener un cierto nivel mínimo de capacidades, para asegurar un funcionamiento adecuado en diferentes entornos. Las directrices de revisión de plugins se crean con ese objetivo en mente.

Este comprobador de plugins no es perfecto y nunca lo será. Es solo una herramienta para ayudar a los autores de plugins, o a cualquier otra persona que quiera hacer que su plugin sea más capaz. Todos los plugins enviados a WordPress.org son revisados manualmente por un equipo de expertos. El comprobador de plugins automatizado está destinado a ser solo una herramienta útil, no un sistema absoluto de medición.

Does a plugin need to pass all checks to be approved in the WordPress.org plugin directory?

To be approved in the WordPress.org plugin directory, a plugin must typically pass all checks in the «Plugin repo» category. Other checks are additional and may not be required to pass.

In any case, passing the checks in this tool likely helps to achieve a smooth plugin review process, but is no guarantee that a plugin will be approved in the WordPress.org plugin directory.

Reseñas

13 de julio de 2024
DevTools for WordPress is an essential toolkit for WordPress plugin developers, providing a comprehensive suite of features to simplify and accelerate the development process. This plugin is designed to enhance your coding efficiency, improve testing workflows, and ensure seamless integration of your custom plugins into WordPress environments.
4 de mayo de 2024
A great way to validate plugins against WordPress ecosystem standards. Yet another useful tool.
30 de marzo de 2024
This tool is very useful, not just for developers.Since finding it, I use it to test any new plugins I want to use.I have had good responses from plugin author’s when contacting them to resolve matters.
Leer todas las 13 reseñas

Colaboradores y desarrolladores

«Plugin Check (PCP)» es un software de código abierto. Las siguientes personas han colaborado con este plugin.

Colaboradores

«Plugin Check (PCP)» está traducido en 11 idiomas. Gracias a los traductores por sus contribuciones.

Traduce «Plugin Check (PCP)» a tu idioma.

¿Interesado en el desarrollo?

Revisa el código , echa un vistazo al repositorio SVN o suscríbete al registro de desarrollo por RSS.

Registro de cambios

1.0.2

  • Feature – New Enqueued_Scripts_Scope_Check (enqueued_scripts_scope), Enqueued_Styles_Size_Check (enqueued_styles_size) and Enqueued_Resources_Check (enqueued_resources) performance checks.
  • Enhancement – Improved readme check and added a new wp_plugin_check_ignored_readme_warnings filter.
  • Enhancement – New wp_plugin_check_default_categories filter to change the categories which are selected by default.
  • Enhancement – New wp_plugin_check_ignore_files filter to allow ignoring specific files.
  • Fix – Correct detection of readme files in Windows by normalizing file paths.

1.0.1

  • Fix – Add missing test-content folder needed for runtime checks.
  • Fix – Do not send emails when setting up test environment.
  • Fix – Prevent PHP warning when the argv variable isn’t set.

1.0.0

  • Feature – Complete overhaul of the plugin, its architecture, and all checks.
  • Feature – Added new WP-CLI commands for running checks and listing available options.
  • Enhancement – Added option to only run checks for a specific category.

0.2.3

  • Tweak – Use version 3.8.0 of the PHP_CodeSniffer library, moving away from squizlabs/PHP_CodeSniffer to use PHPCSStandards/PHP_CodeSniffer.
  • Fix – Ensure the plugin works as expected on the WP playground environment to enable reviewers to use PCP. Props @tellyworth.
  • Fix – Undefined array key «argv» when running the plugin check in certain environments. Props @afragen. #340

0.2.2

  • Enhancement – Include support for Windows Servers.
  • Enhancement – Avoid using PHP CLI directly, which enables plugin developers to use PCP in a variety of new environments.
  • Fix – Remove dependency on shell_exec and exec functions, which enables plugin developers to use PCP in a variety of new environments.
  • Fix – Prevent problems with Readme parser warning related to contributor_ignored for when running the check outside WP.org. Props @dev4press. #276
  • Fix – Remove extra period on the end of the sentence for Phar warning. Props @pixolin. #275

0.2.1

  • Añadido: enlace «Ver en editor de código» debajo de cada error o advertencia de PHPCS. Agradecimientos a @EvanHerman, @westonruter, @felixarntz, @mukeshpanchal27 #262
  • Corrección – Asegúrese de que readme.txt tenga prioridad sobre readme.md cuando ambos estén presentes. Agradecimientos a @bordoni, @afragen #258
  • Corrección – Asegurarse de que la comprobación de PHPCS se ejecute incluso cuando el binario de PHPCS no sea ejecutable. Agradecimientos a @bordoni, @shawn-digitalpoint, @mrfoxtalbot #254
  • Corrección – Cambios en el archivo Readme y corrección de errores tipográficos. Agradecimientos a @aaronjorbin. #261
  • Corrección: Las líneas largas de código con la comprobación PHPCS ya no se expanden más allá del tamaño del aviso. Agradecimientos a @bordoni, @felixarntz. #263
  • Corrección – Asegurarse de que tengamos compatibilidad con PHP 7.2 y eliminar la coma final. Agradecimientos a @bordoni, @leoloso. #265
  • Corrección – Incluir todas las cadenas que se omitieron en la versión anterior. Agradecimientos a @bordoni, @pixolin. #270

0.2.0

  • Característica – Habilitada la modificación de la ruta del binario de PHP utilizada por el plugin con la constante PLUGIN_CHECK_PHP_BIN.
  • Característica – Incluída una comprobación del uso de ALLOW_UNFILTERED_UPLOADS en cualquier archivo PHP – Gracias a EvanHerman en #45
  • Característica – Incluida una comprobación de la presencia de los archivos de aplicación (.a, .bin, .bpk, .deploy, .dist, .distz, .dmg, .dms, .DS_Store, .dump, .elc, .exe, .iso, .lha, .lrf, .lzh, .o, .obj, .phar, .pkg, .sh, ‘.so`) – Gracias a EvanHerman en #43
  • Característica: Incluir una comprobación de la presencia del archivo readme.txt o readme.md – Agradecimientos a EvanHerman en #42
  • Corrección – Asegurarse de que el análisis de Readme se incluya correctamente cuando hay un archivo readme.md o readme.txt presente. Agradecimientos a Bordoni #52
  • Retoque – Deshabilitar las funciones move_uploaded_file, passthru, proc_open – Atributos alexsanford en #50
  • Retoque – Cambia el tipo de mensaje para utilizar las funciones que WordPress ya incluye de Advertencia a Error. Agradecimientos a davidperezgar en #18
  • Retoque – Cambiar el tipo de mensaje para el uso incorrecto de la etiqueta Stable de Aviso/Advertencia a Error. Agradecimientos a davidperezgar en #3

[0.1] 2011-09-04

Versión original de la herramienta de comprobación de plugins, no es una versión lanzada del plugin, este registro de cambios está aquí solo con fines históricos.