wp_get_environment_type()
Отримує поточний тип оточення: local , development , staging , production (за замовчуванням).
Ця функція стандартизує застосування різної логіки коду різного середовища розробки. Так наприклад, можна виконувати один код на локалці, інший при тестуванні і третій у продакшені.
Встановлення типу оточення
Тип оточення може бути заданий двома способами: за допомогою глобальної системної змінної WP_ENVIRONMENT_TYPE або константи з таким самим ім’ям.
putenv( 'WP_ENVIRONMENT_TYPE=development'); // або define( 'WP_ENVIRONMENT_TYPE', 'development' );
Значення константи переписує значення системної змінної. Якщо вказано значення не зі списку вище, функція поверне тип production .
При установці типу оточення development
включається дебаг режим – WP_DEBUG = true
.
Читайте також опис функції putenv() .
wp_is_application_passwords_available()
(швидкість світла) | 50000 разів – 0.00 сек
(швидкість світла)
Хуків немає.
Повертає
Строку
. Поточний тип оточення:
local
– Локалка. З версії 5.5.1development
– Розробка.staging
– Гілка, стадія, тестування.production
– Робочий сайт (за замовчуванням).
Використання
wp_get_environment_type();
Приклади
#1 Приклад з Ядра – дефолтна установка константи WP_DEBUG
if ( ! defined( 'WP_DEBUG' ) ) { if ( 'development' === wp_get_environment_type() ) { define( 'WP_DEBUG', true ); } else { define( 'WP_DEBUG', false ); } }
#2 Ще демонстраційний приклад
switch (wp_get_environment_type()) { case 'local': case 'development': do_nothing(); break; case 'staging': do_staging_thing(); break; case 'production': default: do_production_thing(); break; }
#3 Закриємо сайт від пошукових систем, якщо це версія сайту для розробки
/** * Close from search engines indexing for dev. * * @return void */ function kama_development_disable_indexing(){ // do noting it's prod OR Admin if( in_array( wp_get_environment_type(), [ 'production', 'local' ], true ) || current_user_can( 'administrator' ) ) { return; } // HTTP header header( 'X-Robots-Tag: noindex'); //robots.txt add_filter( 'robots_txt', fn() => "User-agent: *nDisallow: /", 999); // <meta name='robots' content='noindex, follow' /> add_filter( 'wp_robots', function( $robots ){ $robots['noindex'] = true; $robots['nofollow'] = true; unset($robots['follow']); return $robots; }, 999); // 403 for search agents $robots = 'libwww|Wget|LWP|damnBot|BBBike|spider|crawl|google|bing|yandex|msnbot'; if( preg_match( "/$robots/i", $_SERVER['HTTP_USER_AGENT'] ) ) { http_response_code(403); die ( 'Public Forbidden'); } }
Тепер просто викликає цю функцію десь у плагіні або у файлі fucntions.php:
kama_development_disable_indexing();
список змін
З версії 5.5.0 | Введено. |
З версії 5.5.1 | Added the ‘local’ type. |
З версії 5.5.1 | Повернувши здатність до іншого списку типів. |