Константи WordPress

WordPress налаштовується в адмін-панелі або використовуючи хуки (фільтри, події), а також WordPress можна налаштовувати, використовуючи PHP константи.

Ви, напевно, не раз використовували константи у файлі wp-config.php , наприклад:

define( 'WPLANG', 'ru_RU' ); // Вказуємо файл локалізації;
define( 'EMPTY_TRASH_DAYS', false ); // відключаємо кошик;
define( 'WP_POST_REVISIONS', false ); // відключаємо ревізії записів;
define( 'DISABLE_WP_CRON', true); // відключаємо роботу cron;
define( 'AUTOSAVE_INTERVAL', 120); // збільшуємо інтервал автозбереження;
// і т.д.

Також константи можуть знадобитися при написанні плагінів. Наприклад, коли потрібно отримати шлях до каталогу плагінів, можна використовувати константу WP_PLUGIN_DIR , а щоб отримати УРЛ на каталог плагінів, можна використовувати константу WP_PLUGIN_URL . Це зручно, тому що деякі користувачі можуть змінити каталог плагінів, вказавши константу WP_PLUGIN_DIR і ваш плагін не буде працювати, якщо ви вказали абсолютний шлях без використання константи.

Способів застосування констант багато і мати під рукою їхній повний список – зручно.

У цьому пості більшість констант, які використовує WordPress. Список постійно оновлюватиметься. Якщо раптом вам є що додати до опису або ви не знайшли тут константу, про яку знаєте, пишіть у коментарі будь ласка.

Зміст:


Базові


WP_AUTO_UPDATE_CORE

Керує авто-оновленням ядра:

  • true– Включити всі оновлення – версії розробників, незначні та значні релізи.
  • false– відключити всі оновлення ядра – версії розробників, незначні та значні релізи.
  • 'minor'– включити оновлення лише для незначних релізів (всередині гілки).

Можливо: true | false | ‘minor’


AUTOMATIC_UPDATER_DISABLED

Авто-оновлення двигуна, введене у версії 3.7. За промовчанням константа не визначена (false – авто-оновлення включено). Щоб вимкнути авто-оновлення, встановіть цю константу, вкажіть їй значення true:

define( 'AUTOMATIC_UPDATER_DISABLED', true );

Можливо: true | false


AUTOSAVE_INTERVAL
Інтервал автозбереження постів під час редагування.


Можливо: час у секундах


За замовчуванням: 60

CORE_UPGRADE_SKIP_NEW_BUNDLED
true – торкатися нових груп файлів (плагіни або теми) при оновленні.


Можливо: true | false

DISABLE_WP_CRON
Деактивує роботу cron (планувальник завдань) у WordPress.


Можливо: true

EMPTY_TRASH_DAYS
Кількість днів до видалення запису (сторінка, вкладення, пост, коментар тощо) з кошика. Ставимо false у wp-config.php, якщо потрібно відключити кошик, записи будуть видалятися при видаленні безповоротно.


Можливо: кількість днів


За замовчуванням: 30

IMAGE_EDIT_OVERWRITE
false – створюватимуться нові зображення під час редагування – копії оригіналу. true – старе зображення буде перезаписано.


Можливо: true | false

MEDIA_TRASH
Функція “кошика” для медіафайлів. true – кошик працює. false – не працює.


Можливо: true | false


За замовчуванням: false

WPLANG
Визначає файл локалізації WordPress. Потрібен для перекладу сайту потрібною мовою.


Можливо: ru_RU (для російської)

WP_DEFAULT_THEME
Встановлює тему для нових сайтів за промовчанням. І використовується як запасний варіант для зламаних тем WordPress.


За замовчуванням: twentyeleven

WP_CRON_LOCK_TIMEOUT
Встановлює мінімальний інтервал часу між виконаннями cron запитів. З версії 3.3.


Можливо: час у секундах


За замовчуванням: 60

WP_MAIL_INTERVAL
Визначає інтервал часу, протягом якого лише один mail-запит може бути виконаний.


Можливо: час у секундах


За замовчуванням: 300

WP_POST_REVISIONS

Ревізії записів:

  • true– включені
  • false– відключені
  • число– Число ревізій запису. 5 – запис міститиме максимально 5 ревізій.

Можливо: true | false | кількість у цифрах

Докладніше читайте wp_revisions_to_keep()

Типово: true


WP_MAX_MEMORY_LIMIT
Максимальне обмеження пам’яті деяких функцій WordPress.


Типово: 256M

WP_MEMORY_LIMIT
Обмеження пам’яті виконання скриптів WordPress.


Типово: 32M, для Multisite 64M


Статуси


APP_REQUEST
Визначено при виконанні запиту Atom Publishing Protocol.


Можливо: true

COMMENTS_TEMPLATE
Визначено, коли завантажується шаблон коментарів.


Можливо: true

DOING_AJAX
Визначено під час виконання AJAX запиту.


Можливо: true

DOING_AUTOSAVE
Визначено при автозбереженні запису.


Можливо: true

DOING_CRON
Визначено, якщо виконується завдання cron (завдання за розкладом).


Можливо: true

IFRAME_REQUEST
Визначено під час виконання IFRAME запиту.


Можливо: true

IS_PROFILE_PAGE
Визначено, якщо ви знаходитесь на сторінці редагування профілю в адмін-панелі.


Можливо: true

REST_REQUEST
Визначено під час виконання REST запиту.


Можливо: true

SHORTINIT
true – зупиняє завантаження основної частини WordPress. Можна використовувати, якщо потрібні лише основні функції. Підключення до БД вже встановлено ($wpdb буде визначено). Фільтри також уже визначені. Константа викликається у файлі wp-settings.php.


Можливо: true

WP_ADMIN
Визначено, якщо ви знаходитесь в адмін-панелі WordPress.


Можливо: true

WP_BLOG_ADMIN
Буде визначено, якщо виконується запит у
/wp-admin/.


Можливо: true

WP_IMPORTING
Визначено при імпорті даних WordPress.


Можливо: true

WP_INSTALLING
Буде визначено під час нової інсталяції або оновлення.


Можливо: true

WP_INSTALLING_NETWORK
Визначено під час встановлення мережі або при запиті до network admin. З версії 3.3. До цього була: WP_NETWORK_ADMIN_PAGE.


Можливо: true

WP_LOAD_IMPORTERS
Визначено при огляді імпорту на панелі керування (Tools -> Importer).


Можливо: true

WP_NETWORK_ADMIN
Визначено на сторінці:
/wp-admin/network/.


Можливо: true

WP_REPAIRING
Визначено на сторінці:
/wp-admin/maint/repair.php .


Можливо: true

WP_SETUP_CONFIG
Визначено під час встановлення або конфігурації WP.


Можливо: true

WP_UNINSTALL_PLUGIN

Визначено під час видалення плагіна. Для видалення плагіна створюється файл uninstall.php в його папці, при видаленні спрацьовує код з цього файлу, так щоб не виникло ніяких несподіванок в цьому файлі потрібно робити перевірку на існування константи WP_UNINSTALL_PLUGIN – вона повинна бути визначена під час видалення плагіна.

Приклад перевірки:

if( ! defined('WP_UNINSTALL_PLUGIN') exit();
// код видалення перебування плагіна на сайті

Можливо: true


WP_USER_ADMIN
Визначено на сторінках:
/wp-admin/user/.


Можливо: true

XMLRPC_REQUEST
Визначено за будь-якого XML-RPC запиту.


Можливо: true


Шляхи, каталоги, посилання


ABSPATH
Шлях до кореневого каталогу WordPress зі слешем на кінці. Шлях буде від кореня сервера, наприклад:
C:/sites/example.com/www/ .


За промовчанням шлях до каталогу з файлом wp-load.php

WPINC
Назва каталогу wp-includes. Змінити цю константу не можна.


За замовчуванням: wp-includes

WP_LANG_DIR
Абсолютний шлях до каталогу із мовними файлами.


За замовчуванням: WP_CONTENT_DIR . '/languages'абоABSPATH . WPINC . '/languages'

WP_PLUGIN_DIR
Абсолютний шлях до каталогу плагінів.


За замовчуванням: WP_CONTENT_DIR . ‘/plugins’

WP_PLUGIN_URL
URL каталогу плагінів.


За промовчанням: WP_CONTENT_URL . ‘/plugins’

WP_CONTENT_DIR
Абсолютний шлях
до каталогу wp-content . Приклад: C:/sites/example.com/www/wp-content


Типово: ABSPATH/wp-content

WP_CONTENT_URL
URL до каталогу wp-content. Наприклад:
http://example.com/wp-content


Типово: {URL сайту}/wp-content

WP_HOME
URL вашого WordPress блогу. Якщо встановити цю константу в wp-config.php, то користувачі не зможуть випадково змінити адресу блогу в налаштуваннях: налаштування->основні. Також, корисно якщо файли WordPress лежать у підкаталозі, тоді адреса блогу буде
WP_HOME
http://yourdomain.com , а адреса до каталогу файлів цього блогу буде
WP_SITEURL
http://yourdomain.com/blog .

WP_SITEURL
URL-адреса кореневого каталогу WordPress, де лежать файли WordPress.

WP_TEMP_DIR
Абсолютний шлях до каталогу для тимчасових файлів. Зазвичай такі файли записуються при оновленні плагінів та движка.

WPMU_PLUGIN_DIR

Абсолютний шлях до каталогу плагінів типу Must Use Plugins . Наприклад: C:/sites/example.com/www/wp-content/mu-plugins .

За замовчуванням: WP_CONTENT_DIR/mu-plugins


WPMU_PLUGIN_URL
URL каталогу плагінів типу «Must Use Plugins»


За промовчанням: WP_CONTENT_URL /mu-plugins


База даних


DB_CHARSET
Визначає кодування (charset) бази даних


Можливо: див. докуметацію MySQL


Типово: utf8

DB_COLLATE
Визначає тип порівняння (collation) для бази даних


Можливо: див. докуметацію MySQL


Типово: utf8_general_ci

DB_HOST
Визначає хост (host) бази даних


Може бути: IP адреса, домен та/або порт


За замовчуванням: localhost

DB_NAME
Визначає ім’я бази даних


Можливо: ім’я бази даних

DB_PASSWORD
Визначає пароль до бази даних


Можливо: пароль до бази даних

DB_USER
Визначає користувача бази даних


Можливо: нік користувача

WP_ALLOW_REPAIR
Дозволяє автоматично відновлювати та оптимізувати таблиці бази даних за допомогою
/wp-admin/maint/repair.php .


Можливо: true

CUSTOM_USER_TABLE
Дозволяє визначити власну таблицю «user»


Можливо: ім’я таблиці

CUSTOM_USER_META_TABLE
Дозволяє визначити власну таблицю «user meta»


Можливо: ім’я таблиці


Шаблон


BACKGROUND_IMAGE
Визначає фонове зображення за промовчанням.

HEADER_IMAGE
Визначає зображення заголовка (шапки) за промовчанням.

HEADER_IMAGE_HEIGHT
Визначає висоту зображення заголовка (шапки).

HEADER_IMAGE_WIDTH
Визначає ширину зображення заголовка (шапки).

HEADER_TEXTCOLOR
Визначає колір тексту заголовка (шапки).

NO_HEADER_TEXT
Включає або вимикає підтримку тексту заголовка (шапки).


Можливо: true | false

STYLESHEETPATH
Визначає абсолютний шлях до папки теми – папки, де знаходиться поточний файл стилів батьківської або дочірньої теми. Не містить закриває слеша. get_stylesheet_directory
() .

TEMPLATEPATH
Визначає абсолютний шлях від кореня сайту до поточної теми (батьківської, не дочірньої). Не містить слеш на кінці. get_template_directory
() .

WP_USE_THEMES
Вмикає або вимикає завантаження тем.


Можливо: true | false


Файлова система та з’єднання


FS_CHMOD_DIR
Визначає права доступу до каталогів. Визначається лише в адмінці при підключенні файла
wp-admin/includes/file.php.


Можливо: див. документацію PHP


Типово: 0755

FS_CHMOD_FILE
Визначає права доступу до файлів. Визначається лише в адмінці при підключенні файла
wp-admin/includes/file.php.


Можливо: див. документацію PHP


Типово: 0644

FS_CONNECT_TIMEOUT
Визначає таймаут для з’єднання


Може бути: час у секундах


За замовчуванням: 30

FS_METHOD
Визначає метод з’єднання з файловою системою


Можливо: direct | ssh | ftpext | ftpsockets


За замовчуванням: не встановлено

FS_TIMEOUT
Визначає таймаут після втрати з’єднання


Може бути: час у секундах


Типово: 30

FTP_BASE
Шлях до кореневого каталогу WordPress


Типово: ABSPATH

FTP_CONTENT_DIR
Шлях до каталогу
/wp-content/


За замовчуванням: WP_CONTENT_DIR

FTP_HOST
Визначає хост для FTP


Може бути: IP адреса, домен та/або порт

FTP_LANG_DIR
Шлях до каталогу з мовними файлами


За промовчанням: WP_LANG_DIR

FTP_PASS
Визначає пароль для FTP

FTP_PLUGIN_DIR
Шлях до каталогу плагінів


За замовчуванням: WP_PLUGIN_DIR

FTP_PRIKEY
Визначає private key для SSH

FTP_PUBKEY
Визначає public key для SSH

FTP_SSH
Включає або вимикає SSH


Можливо: true | false

FTP_SSL
Включає або вимикає SSL


Можливо: true | false

FTP_USER
Визначає ім’я користувача для FTP

WP_PROXY_BYPASS_HOSTS
Дозволяє визначити адреси, які не повинні з’єднуватися через проксі


Може бути: www.somesite.net , *.somesite.org

WP_PROXY_HOST
Визначає адресу проксі


Може бути: IP адреса або домен

WP_PROXY_PASSWORD
Визначає пароль для проксі

WP_PROXY_PORT
Визначає порт для проксі

WP_PROXY_USERNAME
Визначає ім’я користувача для проксі

WP_HTTP_BLOCK_EXTERNAL
Дозволяє блокувати зовнішні запити


Можливо: true | false

WP_ACCESSIBLE_HOSTS
Якщо визначено WP_HTTP_BLOCK_EXTERNAL, можна додати хости, які не блокуватимуться (білий список)


Можливо: www.somesite.net, *.somesite.org


Налагодження (пошук багів)


WP_LOCAL_DEV

Константа за замовчуванням у ядрі ніде не використовується, але призначена для загального стандарту, щоб, наприклад, включати якийсь додатковий функціонал, коли визначено цю константу.

Приклад підключення різних БД та встановлення цієї константи, якщо сайт розробляється на локалці. Код потрібно додати до wp-config.php . Також на локалці потрібно створити файл local-config.php і до нього додати локальні дані підключення до БД. Також, у цьому випадку, де-небудь далі в коді можна використовувати константу WP_LOCAL_DEV , щоб перевірити, чи перебуваємо ми на локалці або на робочому сайті.

if ( file_exists( dirname( __FILE__ ) . '/local-config.php' ) ) {
include( dirname( __FILE__ ) . '/local-config.php' );
  define( 'WP_LOCAL_DEV', true ); // We'll talk about this later
}
else {
  define( 'DB_NAME', 'production_db' );
  define('DB_USER', 'production_user');
  define( 'DB_PASSWORD', 'production_password');
  define( 'DB_HOST', 'production_db_host');
}

Докладніше читайте тут .


WP_START_TIMESTAMP
Мітка часу початку роботи коду WP – встановлюється як
microtime(true) у момент підключення раннього файлу
wp-includes/default-constants.php . З’явилася у WP 5.2.

SAVEQUERIES

Включає або вимикає запис запитів до бази даних до масиву ($wpdb->queries).

Додайте наступний код у файл wp-config.php :

define( 'SAVEQUERIES', true );

Потім у footer.php вашої теми вставте код, який виведе всі запити:

if ( current_user_can( 'administrator' ) ) {
	Global $wpdb;
	echo "<pre>";
	print_r($wpdb->queries);
	echo "</pre>";
}

Можливо: true | false


SCRIPT_DEBUG
Включає або вимикає завантаження упакованих файлів CSS та JavaScript.


Можливо: true | false

WP_DEBUG
Вмикає або вимикає режим налагодження WordPress. Докладніше про
WP_DEBUG


Можливо: true | false


За замовчуванням: false

WP_DEBUG_DISPLAY
Вмикає або вимикає виведення помилок на екран.


Можливо: true | false | null


За замовчуванням: true

WP_DEBUG_LOG
Включає або вимикає запис помилок у файл /wp-content/debug.log


Можливо: true | false


За замовчуванням: false

WP_TESTS_CONFIG_FILE_PATH

Розташування файлу wp-tests-config.php , який використовується при тестах PHPUnit. Приклад визначення файлу phpunit.xml :

<phpunit ...
	<php>
		<const name="WP_TESTS_CONFIG_FILE_PATH" value="/path/to/wp-tests-config.php" />
	</php>
</phpunit>


Кешування та стиск скриптів


WP_CACHE
Якщо визначено, то WordPres намагатиметься завантажити файл /wp-content/advanced-cache.php під час завантаження сторінки.


Можливо: true | false


За замовчуванням: false

COMPRESS_CSS
Включає/вимикає стиснення таблиць стилів (stylesheets).


Можливо: true | false

COMPRESS_SCRIPTS
Включає/вимикає компресію файлів JavaScript.


Можливо: true | false

CONCATENATE_SCRIPTS

Включає/вимикає об’єднання файлів JavaScript або CSS перед стисненням.

Примітка: для прискорення завантаження адмін-панелі всі JS-файли об’єднаються в один. Якщо у вас не працює Javascript в адмінці, то можете спробувати відключити цю функцію, додавши цей код wp-config.php:

define( 'CONCATENATE_SCRIPTS', false);

Можливо: true | false


ENFORCE_GZIP
Включає / вимикає стиснення gzip


Можливо: true | false


Захист та куки

Шлях до каталогу /wp-admin/


За замовчуванням: SITECOOKIEPATH wp-admin або для Мульти-сайту підкаталог SITECOOKIEPATH

ALLOW_UNFILTERED_UPLOADS
Дозволяє включити завантаження файлів без фільтрування користувачем з правом
unfiltered_upload . Включає роботу права
unfiltered_upload . Якщо включити цю константу, то користувачі з правом
unfiltered_upload нічого очікувати проходити перевірку current_user_can(‘unfiltered_upload’).


Можливо: true
Ім’я Cookie для авторизації


Типово: wordpress_ COOKIEHASH

AUTH_KEY
Секретний ключ


Можливо: текстовий ключ

AUTH_SALT
Додаток до секретного ключа


Може бути: текстовий ключ

COOKIEHASH
Хеш для створення імен cookie

COOKIEPATH
Дорога до кореневого каталогу WordPress.


За замовчуванням: домашня URL-адреса без http(s)://
Домен, який буде використовуватися в setcookie() і для якого будуть встановлюватися куки. За промовчанням це поточний домен, можна вказати конкретний домен, наприклад
.example.com, тоді куки будуть дійсні для домену
example.comі всіх піддоменів:
foo.example.com,
bar.example.com


За замовчуванням: false, а для MU збірки “.example.com“, де example.com основний домен мережі сайтів .

CUSTOM_TAGS
Дозволяє перевизначати список захисних позначок HTML. Дивитись у /wp-includes/kses.php.


Можливо: true | false


За замовчуванням: false

DISALLOW_FILE_EDIT
Дозволяє заборонити редагування тем і плагінів за допомогою редактора WordPress.


Можливо: true

DISALLOW_FILE_MODS

Забороняє будь-яке редагування файлів у файловій системі WordPress (крім директорії для завантаження wp-content/uploads):

define( 'DISALLOW_FILE_MODS', true );

Зауважте, що встановивши цю директиву, ви більше не зможете встановлювати та оновлювати теми та плагіни через панель адміністратора. Вам доведеться робити це вручну за допомогою FTP або SSH. Значення константи можна перевизначити через фільтр file_mod_allowed .

Можливо: true


DISALLOW_UNFILTERED_HTML

Дозволяє заборонити не фільтровані HTML для всіх користувачів, включаючи адмін. Деякі привілеї можна відключити на рівні
конфігураційного файлу wp-config.php, наприклад можна заборонити всім користувачам (включно з адміністраторами та мережевими адміністраторами) публікувати не фільтрований HTML за допомогою:

define( 'DISALLOW_UNFILTERED_HTML', true );

Можливо: true


FORCE_SSL_ADMIN
Активує SSL для адмінки та панелі керування.


Можливо: true | false


За замовчуванням: false

FORCE_SSL_LOGIN
Активує SSL для сторінки входу.


Можливо: true | false


За замовчуванням: false
Ім’я cookie для авторизації.


Типово: wordpress_logged_in_ COOKIEHASH

LOGGED_IN_KEY
Секретний ключ


Можливо: текстовий ключ

LOGGED_IN_SALT
Секретний ключ


Можливо: текстовий ключ

NONCE_KEY
Секретний ключ


Можливо: текстовий ключ

NONCE_SALT
Секретний ключ


Можливо: текстовий ключ
Ім’я Cookie для пароля


Типово: wordpresspass_ COOKIEHASH
Шлях до каталогу плагінів


За замовчуванням: WP_PLUGIN_URL без http(s)://
Ім’я Cookie для SSL авторизації


Типово: wordpress_sec_ COOKIEHASH

SECURE_AUTH_KEY
Секретний ключ


Можливо: текстовий ключ

SECURE_AUTH_SALT
Секретний ключ


Можливо: текстовий ключ

SITECOOKIEPATH
Шлях до сайту


За замовчуванням: URL сайту без http(s)://
Ім’я Cookie для тестового cookie


Типово: wordpress_test_cookie
Ім’я Cookie для користувачів


За замовчуванням: wordpressuser_ COOKIEHASH


Мульти-сайти


ALLOW_SUBDIRECTORY_INSTALL
Дозволяє встановити Мульти-сайт у підкаталог (піддомен).


Можливо: true

BLOGUPLOADDIR
Абсолютний шлях до каталогу upload конкретного блогу.


За промовчанням: WP_CONTENT_DIR /blogs.dir/{ID блогу}/files/

BLOG_ID_CURRENT_SITE
ID блогу основного сайту


За замовчуванням: 1

DOMAIN_CURRENT_SITE
Домен основного веб-сайту.


Типово: домен

DIEONDBERROR
Якщо визначено, то помилки бази даних виводитимуться на екран.


Можливо: true

ERRORLOGFILE
Якщо визначено, то помилки бази даних будуть записуватися в лог-файл


. Абсолютний шлях до файлу з доступом на запис

MULTISITE
Визначається, якщо використовується режим Мульти-сайт.


Можливо: true

NOBLOGREDIRECT
Визначає URL сайту, на який WordPress буде перенаправляти запити, якщо реєстрація закрита або сайт не існує.


Можливо: %siteurl% для головного сайту або специфічна URL-адреса

PATH_CURRENT_SITE
Шлях до основного сайту.

UPLOADBLOGSDIR
Шлях до базового каталогу upload, залежно від ABSPATH


Типово: wp-content/blogs.dir

SITE_ID_CURRENT_SITE
Network ID головного сайту


За замовчуванням: 1

SUBDOMAIN_INSTALL
Визначає, чи інсталяція йде в піддомен чи ні.


Можливо: true | false

Sunrise
Якщо визначено, то WordPres завантажуватиме файл
/wp-content/sunrise.php


Може бути: true

UPLOADS
Шлях до каталогу upload специфічний для сайту, залежить від
ABSPATH .


За замовчуванням: UPLOADBLOGSDIR /{blogid}/files/

WPMU_ACCEL_REDIRECT
Включає або вимикає підтримку X-Sendfile Header


Може бути: true | false


За замовчуванням: false

WPMU_SENDFILE
Включає або вимикає підтримку для X-Accel-Redirect Header


Можливо: true | false


За замовчуванням: false

WP_ALLOW_MULTISITE
Якщо визначено, буде доступна функція Мульти-сайт (Tools -> Network Setup).


Можливо: true


Константи часу

Ці константи зроблені для зручності, коли потрібно встановити інтервал часу за секунди:


MINUTE_IN_SECONDS
Хвилина за секунди – 60.

HOUR_IN_SECONDS
Година в секундах –
60*MINUTE_IN_SECONDS .

DAY_IN_SECONDS
День (доба) за секунди –
24 * HOUR_IN_SECONDS .

WEEK_IN_SECONDS
Тиждень у секундах –
7*DAY_IN_SECONDS .

MONTH_IN_SECONDS
Місяць в секундах –
30*DAY_IN_SECONDS .

YEAR_IN_SECONDS
Рік у секундах –
365*DAY_IN_SECONDS .

Залишити коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *