Mendeteksi apakah WP berjalan di bawah WP-CLI


22

Saya menggunakan alat WP-CLI yang luar biasa. Karena ketergantungan pada variabel lingkungan Apache untuk kasus penggunaan tertentu, saya perlu mengaktifkan sedikit kode untuk menjalankan hanya ketika berjalan di bawah WP-CLI. Bagaimana saya bisa mendeteksi jika WP berjalan di bawah WP-CLI?

Dalam kasus khusus ini saya bisa memeriksa keberadaan variabel lingkungan Apache yang dimaksud. Namun, saya ingin mengetahui metode kanonik yang lebih umum untuk diperiksa. Terima kasih.

Jawaban:


24

Di dalam php/wp-cli.phpkami menemukan baris-baris ini:

// Can be used by plugins/themes to check if WP-CLI is running or not
define( 'WP_CLI', true );
define( 'WP_CLI_VERSION', trim( file_get_contents( WP_CLI_ROOT . '/VERSION' ) ) );
define( 'WP_CLI_START_MICROTIME', microtime( true ) );

sehingga Anda dapat memeriksa apakah WP_CLIatau WP_CLI_VERSIONditentukan.


7
WP_CLIadalah konstanta yang lebih disukai untuk diperiksa
Daniel Bachhuber

Terima kasih telah berkomentar - ya dan juga jauh lebih pendek, hanya ingin tahu tentang kemungkinan lain ;-) @DanielBachhuber
birgire

@dotancohen Anda sebaiknya mempertimbangkan untuk menerima jawaban oleh Ryan McCue, karena ini menunjukkan secara eksplisit cara memeriksanya.
birgire

@Birgire, bolehkah saya meminta Anda untuk melihat pertanyaan terkait bidang khusus di sini: wordpress.stackexchange.com/questions/265852/… ?
Istiaque Ahmed

26

Pemeriksaan kanonik untuk WP-CLI yang digunakan di sebagian besar plugin dan secara khusus disebutkan dalam dokumen adalah untuk memeriksa WP_CLIapakah telah didefinisikan dan disetel ke true:

if ( defined( 'WP_CLI' ) && WP_CLI ) {
    // Do WP-CLI-specific things.
}
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.