КОНСТАНТЫ WORDPRESS: Основные, пути, отладка, защита, мультисайты, временные.

# КОНСТАНТЫ 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 — минута в секундах — 60
  • HOUR_IN_SECONDS — час в секундах — 60 * MINUTE_IN_SECONDS
  • DAY_IN_SECONDS — день в секундах — 24 * HOUR_IN_SECONDS
  • WEEK_IN_SECONDS — неделя в секундах — 7 * DAY_IN_SECONDS
  • YEAR_IN_SECONDS — год в секундах — 365 * DAY_IN_SECONDS

Leave a Reply

Ваш адрес email не будет опубликован. Обязательные поля помечены *