Detectar si WordPress se está ejecutando bajo WP-CLI

10 may 2016, 12:25:24
Vistas: 14.1K
Votos: 30

Utilizo la maravillosa herramienta WP-CLI. Debido a la dependencia de variables de entorno de Apache para un caso de uso específico, necesito activar un fragmento de código solo cuando se ejecuta bajo WP-CLI. ¿Cómo puedo detectar si WordPress se está ejecutando bajo WP-CLI?

En este caso específico, podría verificar la presencia de las variables de entorno de Apache en cuestión. Sin embargo, me gustaría conocer el método más general y canónico para realizar esta comprobación. Gracias.

0
Todas las respuestas a la pregunta 2
0
41

La verificación canónica para WP-CLI, que se utiliza en la mayoría de los plugins y se menciona explícitamente en la documentación, es la comprobación de si WP_CLI está definido y establecido como verdadero:

if ( defined( 'WP_CLI' ) && WP_CLI ) {
    // Hacer cosas específicas de WP-CLI.
}
10 may 2016 14:08:58
4
40

Dentro del archivo php/wp-cli.php encontramos estas líneas:

// Puede ser utilizado por plugins/temas para verificar si WP-CLI está en ejecución o no
define( 'WP_CLI', true );
define( 'WP_CLI_VERSION', trim( file_get_contents( WP_CLI_ROOT . '/VERSION' ) ) );
define( 'WP_CLI_START_MICROTIME', microtime( true ) );

por lo que podrías verificar si WP_CLI o WP_CLI_VERSION están definidos.

10 may 2016 12:45:51
Comentarios

WP_CLI es la constante preferida para verificar

Daniel Bachhuber Daniel Bachhuber
10 may 2016 14:55:10

Gracias por comentar - sí y también mucho más corto, solo me preguntaba sobre otras posibilidades ;-) @DanielBachhuber

birgire birgire
10 may 2016 15:27:41

@dotancohen deberías considerar aceptar la respuesta de Ryan McCue en su lugar, ya que muestra explícitamente cómo verificarlo.

birgire birgire
10 may 2016 17:20:29

@birgire, ¿puedo pedirte que eches un vistazo a una pregunta relacionada con campos personalizados aquí: https://wordpress.stackexchange.com/questions/265852/set-and-unset-the-custom-field-value?

Istiaque Ahmed Istiaque Ahmed
4 may 2017 22:36:05