Phát hiện nếu WP đang chạy trong WP-CLI


22

Tôi sử dụng công cụ WP-CLI tuyệt vời . Do phụ thuộc vào các biến môi trường Apache cho một trường hợp sử dụng cụ thể, tôi cần kích hoạt một chút mã chỉ để chạy khi chạy trong WP-CLI. Làm cách nào để phát hiện nếu WP đang chạy trong WP-CLI?

Trong trường hợp cụ thể này, tôi có thể kiểm tra sự hiện diện của các biến môi trường Apache được đề cập. Tuy nhiên, tôi muốn biết phương pháp tổng quát hơn, chính tắc để kiểm tra. Cảm ơn bạn.

Câu trả lời:


24

Trong phạm vi php/wp-cli.phpchúng tôi tìm thấy những dòng này:

// 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 ) );

vì vậy bạn có thể kiểm tra nếu WP_CLIhoặc WP_CLI_VERSIONđược xác định.


7
WP_CLIlà hằng số ưa thích để kiểm tra
Daniel Bachhuber

Cảm ơn bạn đã bình luận - có và cũng ngắn hơn nhiều, chỉ đang tự hỏi về những khả năng khác ;-) @DanielBachhuber
birgire

@dotancohen bạn nên xem xét chấp nhận câu trả lời của Ryan McCue, vì nó cho thấy rõ cách kiểm tra nó.
bạch dương

@birgire, tôi có thể yêu cầu bạn xem qua một câu hỏi liên quan đến lĩnh vực tùy chỉnh ở đây không: wordpress.stackexchange.com/questions/265852/ Lỗi ?
Istiaque Ahmed

26

Kiểm tra chính tắc cho WP-CLI được sử dụng trong phần lớn các plugin và được đề cập cụ thể trong tài liệu là kiểm tra WP_CLIđược xác định và đặt thành đúng:

if ( defined( 'WP_CLI' ) && WP_CLI ) {
    // Do WP-CLI-specific things.
}
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.