Константа в php, как и переменная, является ячейкой для хранения памяти. Константа — величина имеющая собственное имя, и не меняющаяся в процессе исполнения скрипта.
Применяются они, когда в программу нужно ввести пароль, путь к файлу, дату, и им подобные постоянные данные. Определяется константа функцией define()
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 | количество в цифрах (По умолчанию: 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
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/wptest.ru/www/
По умолчанию: путь к каталогу с файлом wp-load.php
WPINC #
Название каталога wp-includes. Изменить эту константу нельзя.
По умолчанию: wp-includes
WP_LANG_DIR #
Абсолютный путь к каталогу с языковыми файлами.
По умолчанию: WP_CONTENT_DIR/languages или WP_CONTENT_DIR WPINC /languages
WP_PLUGIN_DIR #
Абсолютный путь к каталогу плагинов.
По умолчанию: WP_CONTENT_DIR /plugins
WP_PLUGIN_URL #
URL каталога плагинов.
По умолчанию: WP_CONTENT_URL /plugins
WP_CONTENT_DIR #
Абсолютный путь к каталогу wp-content. Пример: C:/sites/wptest.ru/www/wp-content
По умолчанию: ABSPATH/wp-content
WP_CONTENT_URL #
URL до катлога wp-content. Например: http://site.ru/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/wptest.ru/www/wp-content/mu-plugins.
Заметка: «Must Use Plugins» или «mu-plugins» плагины – это плагины, которые установлены в специальный каталог. Эти плагины автоматически включены для всех сайтов WordPress. «mu-plugins» не видно на странице плагинов, в админ-панели и их нельзя отключить. Чтобы отключить такой плагин, его нужно удалить из каталога, по умолчанию: wp-content/mu-plugins. Чтобы изменить каталог для mu-plugins, нужно определить константы WPMU_PLUGIN_DIR и WPMU_PLUGIN_URL в файле wp-config.php.
По умолчанию: 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 #
Определяет абсолютный путь к таблице стилей (stylesheet) текущей темы.
TEMPLATEPATH #
Определяет абсолютный путь к файлам шаблона текущей темы.
WP_USE_THEMES #
Включает или отключает загрузку тем.
Значение: true | false
Файловая система и соединения
FS_CHMOD_DIR #
Определяет права доступа для каталогов
Значение: см. докуметацию PHP (По умолчанию: 0755)
FS_CHMOD_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
Значение: 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
Отладка (поиск багов)
SAVEQUERIES #
Включает или отключает запись запросов к базе данных в массив ($wpdb->queries).
Добавьте следующий код в файл wp-config.php:
define( 'SAVEQUERIES', true );
Затем в footr.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.
Значение: true | false (По умолчанию: false)
WP_DEBUG_DISPLAY #
Включает или отключает вывод ошибок на экран.
Значение: true | false | null (По умолчанию: true)
WP_DEBUG_LOG #
Включает или отключает запись ошибок в файл /wp-content/debug.log
Значение: true | false (По умолчанию: false)
Кэширование и сжатие скриптов
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
Защита и куки
ADMIN_COOKIE_PATH #
Путь к каталогу /wp-admin/
По умолчанию: SITECOOKIEPATH wp-admin или для Мульти-сайта подкаталог SITECOOKIEPATH
ALLOW_UNFILTERED_UPLOADS #
Позволяет админам делать загрузки без фильтрования
Значение: true
AUTH_COOKIE #
Имя Cookie для авторизации
По умолчанию: wordpress_ COOKIEHASH
AUTH_KEY #
Секретный ключ
Значение: текстовый ключ
AUTH_SALT #
Добавка к сегретному ключу
Значение: текстовый ключ
COOKIEHASH #
Хэш для генерации имен cookie
COOKIEPATH #
Путь к корневому каталогу WordPress.
По умолчанию: домашний URL без http(s)://
COOKIE_DOMAIN #
Домен инсталяции WordPress
По умолчанию: false или для Мульти-сайт с поддоменами .domain главного сайта
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.
Значение: 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)
LOGGED_IN_COOKIE #
Имя Cookie для логинов.
По умолчанию: wordpress_logged_in_ COOKIEHASH
LOGGED_IN_KEY #
Секретный ключ
Значение: текстовый ключ
LOGGED_IN_SALT #
Секретный ключ
Значение: текстовый ключ
NONCE_KEY #
Секретный ключ
Значение: текстовый ключ
NONCE_SALT #
Секретный ключ
Значение: текстовый ключ
PASS_COOKIE #
Имя Cookie для пароля
По умолчанию: wordpresspass_ COOKIEHASH
PLUGINS_COOKIE_PATH #
Путь к каталогу плагинов
По умолчанию: WP_PLUGIN_URL без http(s)://
SECURE_AUTH_COOKIE #
Имя Cookie для SSL авторизации
По умолчанию: wordpress_sec_ COOKIEHASH
SECURE_AUTH_KEY #
Секретный ключ
Значение: текстовый ключ
SECURE_AUTH_SALT #
Секретный ключ
Значение: текстовый ключ
SITECOOKIEPATH #
Путь к сайту
По умолчанию: URL сайта без http(s)://
TEST_COOKIE #
Имя Cookie для тестового cookie
По умолчанию: wordpress_test_cookie
USER_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
Константы времени
Эти константы сделаны для удобства, когда нужно установить интервал времени в секундах:
HOUR_IN_SECONDS #
Час в секундах – 60*60
DAY_IN_SECONDS #
День в секундах – 60*60*24
WEEK_IN_SECONDS #
Неделя в секундах – 60*60*24*7
YEAR_IN_SECONDS #
Год в секундах – 60*60*24*7*365