# КОНСТАНТЫ WORDPRESS
WordPress можно настраивать через админ-панель или с помощью хуков (фильтров, событий). Также WordPress можно настраивать с использованием констант PHP.
Например, вы, вероятно, уже использовали константы в файле wp-config.php
:
```php
define( 'EMPTY_TRASH_DAYS', false ); // отключить корзину;
define( 'WP_POST_REVISIONS', false ); // отключить резервные копии записей;
define( 'DISABLE_WP_CRON', true ); // отключить крон;
define( 'AUTOSAVE_INTERVAL', 120 ); // увеличить интервал автосохранения;
// и так далее.
Константы также могут быть очень полезны при написании плагинов. Например, чтобы получить путь к директории плагинов, можно использовать константу WP_PLUGIN_DIR
, а для получения URL к директории плагинов — константу WP_PLUGIN_URL
. Это удобно, потому что некоторые пользователи могут изменить директорию плагинов, указав константу WP_PLUGIN_DIR
, и ваш плагин не будет работать, если вы укажете абсолютный путь без использования этой константы.
Существует множество способов использования констант, и удобно иметь полный список под рукой.
В этой статье представлен список основных констант, используемых в WordPress. Список будет регулярно обновляться. Если вы хотите добавить что-то или не нашли константу, о которой знаете, пожалуйста, напишите в комментариях.
Содержание
- Основные константы
- Константы статусов
- Константы путей, папок и ссылок
- Константы базы данных
- Константы шаблона
- Константы файловой системы и соединений
- Константы отладки
- Защита и куки
- Мультисайты
- Временные константы
ОСНОВНЫЕ КОНСТАНТЫ
WP_AUTO_UPDATE_CORE
Управляет автообновлениями ядра:
true
- включены все обновления: версии для девелоперов, минорные и мажорные.false
- отключены все обновления ядра.'minor'
- включены только обновления для минорных релизов (в пределах одной ветки).
Возможные значения: true | false | 'minor'
AUTOMATIC_UPDATER_DISABLED
Автообновление, введенное в версии 3.7. По умолчанию константа не определена (автообновление включено). Чтобы отключить автообновление, установите эту константу в true
:
define( 'AUTOMATIC_UPDATER_DISABLED', true );
Возможные значения: true | false
AUTOSAVE_INTERVAL
Интервал автосохранения записей во время редактирования.
Значение: время в секундах
По умолчанию: 60
CORE_UPGRADE_SKIP_NEW_BUNDLED
Если установлено на true
- это повлияет на новые группы файлов (плагины или темы) при обновлении.
Возможные значения: true | false
DISABLE_WP_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
WP_DEFAULT_THEME
Задает тему по умолчанию для новых сайтов и используется в качестве резервной, если темы WordPress сломаны.
Возможные значения: имя темы
По умолчанию: twentyeleven
WP_CRON_LOCK_TIMEOUT
Устанавливает минимальный интервал времени между выполнением cron-запросов. С версии 3.3.
Возможные значения: время в секундах
По умолчанию: 60
WP_MAIL_INTERVAL
Указывает временной интервал, в течение которого может быть выполнен только один запрос на отправку почты.
Возможные значения: время в секундах
По умолчанию: 300
WP_POST_REVISIONS
Резервные копии записей:
true
- включеныfalse
- отключены- число - максимальное количество резервных копий записей (например,
5
- будет храниться максимум 5 резервных копий).
Возможные значения: true | false | число
По умолчанию: true
WP_MAX_MEMORY_LIMIT
Максимальный лимит памяти для некоторых функциональностей WordPress.
По умолчанию: 256M
WP_MEMORY_LIMIT
Лимит памяти для запуска скриптов WordPress.
По умолчанию: 32M, для мультисайта 64M
WPLANG
Устарела с WP 4.0 и больше не используется. Определяет код локализации WordPress. Полный список кодов можно найти в документации.
КОНСТАНТЫ СТАТУСОВ
APP_REQUEST
Определяет, когда выполняется запрос Atom Publishing Protocol.
Возможные значения: true
COMMENTS_TEMPLATE
Определяет, когда загружается шаблон комментариев.
Возможные значения: true
DOING_AJAX
Определяет, когда выполняется AJAX-запрос.
Возможные значения: true
DOING_AUTOSAVE
Определяет, когда происходит автосохранение записи.
Возможные значения: true
DOING_CRON
Определяет, выполняется ли задача крон (планируемая задача).
Возможные значения: true
IFRAME_REQUEST
Определяет, выполняется ли запрос IFRAME.
Возможные значения: true
IS_PROFILE_PAGE
Определяет, находитесь ли вы на странице редактирования профиля в админ-панели.
Возможные значения: true
REST_REQUEST
Определяется при выполнении REST-запроса.
Возможные значения: true
SHORTINIT
Если установлено в true
, останавливает загрузку основной части WordPress. Может использоваться, если нужны только основные функции.
Возможные значения: true
WP_ADMIN
Определено, если вы находитесь в админ-панели WordPress.
Возможные значения: true
WP_BLOG_ADMIN
Определено, если вы выполняете запрос в /wp-admin/
.
Возможные значения: true
WP_IMPORTING
Определено, когда вы импортируете данные WordPress.
Возможные значения: true
WP_INSTALLING
Определено во время новой установки или обновления.
Возможные значения: true
WP_INSTALLING_NETWORK
Определяется, когда устанавливается сеть или выполняется запрос к админ-панели сети.
Возможные значения: true
WP_LOAD_IMPORTERS
Определено при обзоре импорта в админ-панели (Инструменты -> Импорт).
Возможные значения: true
WP_NETWORK_ADMIN
Определено на странице: /wp-admin/network/
.
Возможные значения: true
WP_REPAIRING
Определено на странице: /wp-admin/maint/repair.php
.
Возможные значения: true
WP_SETUP_CONFIG
Определяется во время установки или настройки WordPress.
Возможные значения: 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
, пользователи не смогут случайно изменить адрес блога в настройках (settings -> основное). Это также полезно, если файлы WordPress находятся в подс-direktorii.
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) базы данных.
По умолчанию: utf8
DB_COLLATE
Определяет тип сопоставления для базы данных.
По умолчанию: utf8_general_ci
DB_HOST
Определяет хост базы данных.
По умолчанию: localhost
DB_NAME
Указывает имя базы данных.
DB_PASSWORD
Определяет пароль базы данных.
DB_USER
Идентифицирует пользователя базы данных.
КОНСТАНТЫ ШАБЛОНА
BACKGROUND_IMAGE
Определяет изображение фона по умолчанию.
HEADER_IMAGE
Определяет изображение заголовка по умолчанию.
HEADER_IMAGE_HEIGHT
Указывает высоту изображения заголовка.
HEADER_IMAGE_WIDTH
Определяет ширину изображения заголовка.
HEADER_TEXTCOLOR
Определяет цвет текста заголовка.
NO_HEADER_TEXT
Включает или отключает поддержку текста в заголовке.
Возможные значения: true | false
TEMPLATEPATH
Содержит абсолютный путь от корня сайта к текущей теме (родительской, а не дочерней). Не содержит косую черту в конце.
STYLESHEETPATH
Содержит абсолютный путь к папке темы, где находится файл стилей текущей темы. Не содержит косую черту в конце.
WP_USE_THEMES
Включает или отключает загрузку тем.
Возможные значения: true | false
КОНСТАНТЫ ФАЙЛОВОЙ СИСТЕМЫ И СОЕДИНЕНИЙ
FS_CHMOD_DIR
Определяет права доступа для директорий. Определена только в админской зоне при подключении файла wp-admin/includes/file.php
.
По умолчанию: 0755
FS_CHMOD_FILE
Определяет права доступа для файлов. Определена только в админской зоне при подключении файла wp-admin/includes/file.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.
FTP_LANG_DIR
Путь к директории языковых файлов.
По умолчанию: WP_LANG_DIR
FTP_PASS
Указывает пароль для FTP.
FTP_PLUGIN_DIR
Путь к директории плагинов.
По умолчанию: WP_PLUGIN_DIR
FTP_PRIKEY
Указывает закрытый ключ для SSH.
FTP_PUBKEY
Указывает открытый ключ для SSH.
FTP_SSH
Включает или отключает SSH.
Возможные значения: true | false
FTP_SSL
Включает или отключает SSL.
Возможные значения: true | false
WP_PROXY_BYPASS_HOSTS
Позволяет определить, какие адреса не должны подключаться через прокси.
WP_PROXY_HOST
Определяет адрес прокси.
WP_PROXY_PASSWORD
Определяет пароль для прокси.
WP_PROXY_PORT
Определяет порт для прокси.
WP_PROXY_USERNAME
Определяет имя пользователя для прокси.
WP_HTTP_BLOCK_EXTERNAL
Позволяет блокировать внешние запросы.
Возможные значения: true | false
WP_ACCESSIBLE_HOSTS
Если WP_HTTP_BLOCK_EXTERNAL
определена, вы можете добавить хосты, которые не будут заблокированы (белый список).
КОНСТАНТЫ ОТЛАДКИ
WP_START_TIMESTAMP
Время начала кода WP — установлено как microtime(true)
в момент подключения файла. Введена в WP 5.2.
SAVEQUERIES
Включает или отключает запись запросов к базе данных в массив ($wpdb->queries
).
Добавьте следующий код в файл wp-config.php
:
define( 'SAVEQUERIES', true );
Затем в footer.php
вашей темы вставьте код для вывода всех запросов:
if ( current_user_can( 'administrator' ) ) { global $wpdb; echo "
"; print_r( $wpdb->queries ); echo "";
}Возможные значения:
true | false
SCRIPT_DEBUG
Включает или отключает загрузку упакованных CSS и JavaScript файлов.
Возможные значения:
true | false
WP_DEBUG
Включает или отключает режим отладки WordPress.
Возможные значения:
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
:
WP_ENVIRONMENT_TYPE
Определяет текущее окружение разработки. Может быть:
local
development
staging
— ветка, этап, тестирование.production
— рабочий сайт (по умолчанию).
WP_LOCAL_DEV
Это не константа WordPress — не используется в ядре. Но она часто используется, например, для включения дополнительной функциональности, когда эта константа определена.
Не используйте эту константу.
ЗАЩИТА И КУКИ
ADMIN_COOKIE_PATH
Путь к директории /wp-admin/
.
ALLOW_UNFILTERED_UPLOADS
Разрешает загружать файлы без фильтрации пользователям с правами unfiltered_upload
. Если эта константа не определена, пользователи без прав на загрузку не смогут загружать.
Возможные значения: true
AUTH_COOKIE
Имя куки для аутентификации.
По умолчанию: wordpress_
AUTH_KEY
Секретный ключ.
AUTH_SALT
Секретный ключ-дополнение.
COOKIEHASH
Хэш для генерации имен куков.
COOKIEPATH
Путь к корневой директории WordPress.
COOKIE_DOMAIN
Домен, который будет использован в функции setcookie()
, для которого будут устанавливаться куки.
DISALLOW_FILE_EDIT
Запрещает редактирование тем и плагинов через редактор WordPress.
Возможные значения: true
DISALLOW_FILE_MODS
Запрещает любое редактирование файлов в файловой системе WordPress (за исключением директории для загрузок wp-content/uploads
):
define( 'DISALLOW_FILE_MODS', true );
Обратите внимание, что установив этот параметр, вы больше не сможете устанавливать и обновлять темы и плагины через админ-панель. Придется делать это вручную через FTP или SSH.
Возможные значения: true
DISALLOW_UNFILTERED_HTML
Отключает возможность публикации не отфильтрованного HTML для всех пользователей, включая администраторов.
Возможные значения: true
FORCE_SSL_ADMIN
Активирует SSL для админки и панели управления.
Возможные значения: true | false
По умолчанию: false
FORCE_SSL_LOGIN
Активирует SSL для страницы входа.
Возможные значения: true | false
По умолчанию: false
LOGGED_IN_COOKIE
Имя куки для аутентификации пользователя.
По умолчанию: wordpress_logged_in_
SITECOOKIEPATH
Путь к сайту.
TEST_COOKIE
Имя куки для тестирования.
USER_COOKIE
Имя куки для пользователей.
МУЛЬТИСАЙТЫ
ALLOW_SUBDIRECTORY_INSTALL
Позволяет устанавливать мультисайт в подкаталоге.
Возможные значения: true
BLOGUPLOADDIR
Абсолютный путь к директории "загрузок" конкретного блога.
По умолчанию: WP_CONTENT_DIR /blogs.dir/{ID блога}/files/
DOMAIN_CURRENT_SITE
Домен основного сайта.
WP_ALLOW_MULTISITE
Если определена, функция мультисайта доступна (Инструменты -> Настройка сети).
Возможные значения: true
ВРЕМЕННЫЕ КОНСТАНТЫ
Эти константы предназначены для удобства, когда нужно задать временной интервал в секундах:
MINUTE_IN_SECONDS
— минута в секундах — 60HOUR_IN_SECONDS
— час в секундах — 60 * MINUTE_IN_SECONDSDAY_IN_SECONDS
— день в секундах — 24 * HOUR_IN_SECONDSWEEK_IN_SECONDS
— неделя в секундах — 7 * DAY_IN_SECONDSYEAR_IN_SECONDS
— год в секундах — 365 * DAY_IN_SECONDS