Как вы уже знаете, вы можете полностью настроить макет веб-сайта WordPress благодаря различным существующим темам, и вы даже можете создать свою собственную, если вы хотите иметь полностью персонализированный веб-сайт.
Это хорошо, но знаете ли вы, что конфигурация самого WordPress также может быть изменена? Это цель файла wp-config.
В этой статье мы рассмотрим файл wp-config, чтобы узнать, что это такое, что в нем содержится и что мы можем (и не должны!) Делать с ним.
Что такое файл wp-config?
Когда я упоминаю файл wp-config, я имею в виду файл wp-config.php
который находится в корне вашей установки WordPress. Он содержит большую часть информации, которая нужна WordPress для работы. Если вы не правильно заполните этот файл, установка WordPress не будет работать. Это означает, что вы не сможете запустить свой веб-сайт и даже можете прервать установку, допустив ошибку при редактировании этого файла.
Чтобы избежать этих ошибок, важно точно знать, что содержит файл wp-config. Таким образом, вы сможете изменить то, что вы хотите, не рискуя (но не забудьте проверить свои изменения локально, прежде чем отправлять их на ваш сервер).
Более того, понимание файла wp-config позволит вам добавить некоторые параметры, чтобы изменить поведение WordPress по умолчанию.
Обратите внимание, вам не нужно вручную редактировать файл wp-config, даже если WordPress еще не настроен. Фактически, помощник по установке WordPress запрашивает необходимую информацию, если ее нет. Это означает, что вам нужно будет только отредактировать файл wp-config, если вы хотите настроить некоторые параметры.
В следующем разделе этой статьи мы рассмотрим различные настройки, которые вы должны будете включить в файл wp-config, если вы хотите отредактировать его самостоятельно.
Если вы только что загрузили архив WordPress, то у вас еще нет файла wp-config. На его месте у вас есть файл с именем wp-config-sample.php
. Если вы не хотите использовать помощник по установке, отредактируйте файл wp-config-sample.php
и переименуйте его в wp-config.php
.
Что мы можем найти в этом файле?
В этом разделе мы рассмотрим список того, что мы можем найти в файле wp-config в его текущем состоянии, в WordPress 4.1. В то же время мы увидим, как редактировать эти строки, если это необходимо.
Настройки базы данных
Настройки базы данных являются единственными обязательными настройками. Вы должны указать правильные значения. Если нет, WordPress не может создавать таблицы, необходимые для работы. Эти настройки, как и многие другие в файле wp-config, состоят из списка констант.
Чтобы определить константу в PHP, вы должны использовать функцию define()
. В первом параметре укажите имя константы, а во втором — ее значение, которое может быть строкой, числом или чем угодно.
Как вы понимаете, нам нужно будет указать учетные данные базы данных, чтобы позволить WordPress использовать их. Если вы не знаете всю необходимую информацию, вы можете искать детали в админ-панели вашего веб-хостинга.
Первая константа, определяющая настройку базы данных, это DB_NAME
. Как следует из его названия, оно должно содержать имя базы данных, которую вы хотите использовать для хранения того, что нужно WordPress. Значение здесь должно быть строкой, представляющей соответствующее имя.
define('DB_NAME', 'wordpressdatabase');
После имени базы данных мы находим константу DB_USER
, которая должна содержать имя пользователя, имеющего право на использование базы данных. У этого пользователя должен быть пароль, указанный в константе DB_PASSWORD
.
define('DB_USER', 'databaseuser'); define('DB_PASSWORD', 'dBpAsSwOrD');
Наконец, последний обязательный параметр базы данных — это константа DB_HOST
, которая должна содержать сервер, на котором мы можем найти вашу базу данных. Часто достаточно значения 'localhost'
, но, возможно, ваш веб-хостинг дает вам IP-адрес или даже поддомен.
define('DB_HOST', 'localhost');
Следующие две константы также связаны с базой данных, но касаются набора символов, используемого таблицами WordPress. По умолчанию WordPress будет использовать UTF-8, но если вы хотите изменить это, укажите свои предпочтения в константе DB_CHARSET
. Вы даже можете установить свое собственное сопоставление с константой DB_COLLATE
.
Через несколько строк после определения этих констант мы находим объявление переменной с именем $table_prefix
. WordPress использует эту переменную для именования создаваемой таблицы. По умолчанию его значение равно wp_
, поэтому все таблицы, созданные в WordPress, будут начинаться с wp_
, как wp_posts
или wp_options
.
Ключи аутентификации
Для автоматического входа ваших пользователей WordPress использует куки. Информация, хранящаяся в этих файлах cookie, зашифрована, и вы можете получить лучшее шифрование благодаря набору восьми констант.
Константы AUTH_KEY
, SECURE_AUTH_KEY
, LOGGED_IN_KEY
и NONCE_KEY
требуются, если вы хотите улучшить шифрование и безопасность. Вы можете улучшить это шифрование с помощью солей, благодаря AUTH_SALT
, SECURE_AUTH_SALT
, LOGGED_IN_SALT
и NONCE_SALT
.
Значения, принятые этими константами, являются строками. Эти строки должны быть уникальными, чтобы обеспечить лучшую безопасность. Более того, старайтесь использовать разные и специальные символы, иначе ваши фразы могут быть угаданы.
Чтобы помочь вам, WordPress предоставляет вам инструмент: онлайн-генератор . Этот инструмент будет генерировать уникальные фразы, отображаемые в коде, который определяет правильные константы: все, что вам нужно сделать, это скопировать и вставить результат вместо ваших текущих определений.
Вы можете изменить свои ключи и соли в любое время. Когда вы делаете это, информация, хранящаяся в файлах cookie ваших пользователей, становится недействительной: в следующий раз вашим пользователям придется войти в систему вручную.
Режим отладки
Сразу после объявления переменной $tables_prefix
мы находим константу WP_DEBUG
, по умолчанию определенную как false
. Если вы измените его на true
, WordPress отобразит некоторую информацию, которая может быть полезна, если вы разрабатываете для этой платформы.
Вам следует избегать этой опции, если эта установка WordPress предназначена не только для разработки. Однако, если вы активируете режим отладки, вы сможете добавить новые полезные опции, о которых мы расскажем в следующем разделе.
Не трогайте следующее!
Константа WP_DEBUG
— это последнее значение по умолчанию, которое вы можете изменить. Однако после этой константы мы находим еще один, называемый ABSPATH
. Не изменяйте эту константу. WordPress использует его для получения абсолютного пути к вашей установке WordPress.
Наконец, файл wp-config заканчивается добавлением другого файла: wp-settings.php
, который находится в корне вашей установки. Этот файл устанавливает некоторые константы, переменные или функции, используемые WordPress. Еще раз, не трогайте этот файл или путь, используемый в функции require_once()
вызываемой в файле wp-config.
Что мы можем добавить в этот файл?
Выше мы рассмотрели, как редактировать файл wp-config, но мы также можем добавить некоторые вещи в этот файл, часто некоторые константы.
Чтобы добавить что-либо в файл wp-config, вы должны соблюдать одно правило: добавления должны быть выполнены до определения константы ABSPATH
, сразу после определения константы WP_DEBUG
по умолчанию.
Теперь мы рассмотрим некоторые полезные дополнения, которые мы можем включить в файл wp-config, но этот список ни в коем случае не является исчерпывающим.
Автоматические обновления
Если вы читали нашу статью об обновлении WordPress , вы уже видели пример дополнений в файле wp-config. Фактически, если вы хотите отключить автоматические обновления, вы можете добавить следующую константу.
define('AUTOMATIC_UPDATER_DISABLED', true);
Но вы также можете активировать автоматические обновления для основных со следующей константой.
define('WP_AUTO_UPDATE_CORE', true);
Перемещение папок
По умолчанию WordPress сохраняет ваши плагины и темы в подкаталоге wp-content
корневого каталога вашей установки. Если вы хотите, вы можете изменить это поведение, самостоятельно WP_CONTENT_DIR
константу WP_CONTENT_DIR
в файле wp-config.
Чтобы найти папку wp-content
, вы можете использовать функцию PHP dirname()
чтобы получить путь к каталогу, содержащему ваш файл wp-config, который является корнем вашей установки WordPress.
define('WP_CONTENT_DIR', dirname(__FILE__) . '/path/to/my/content-dir');
Не добавляйте косую черту в этом пути. Если вы хотите изменить этот каталог, вы должны также изменить его URL, определив значение константы WP_CONTENT_URL
, еще раз без завершающего слеша.
define('WP_CONTENT_URL', 'http://mysite.com/path/to/my/content-dir');
Следуя тому же формату, вы также можете определить свои собственные пути для каталога плагинов. Вы можете, например, использовать каталог содержимого, который вы только что определили.
define('WP_PLUGIN_DIR', WP_CONTENT_DIR . '/myplugins'); define('WP_PLUGIN_URL', WP_CONTENT_URL . '/myplugins');
Вы также можете изменить каталог загрузки, благодаря константе UPLOADS
.
define('UPLOADS', 'my/subdirectory/for/uploads');
Без косой черты этот путь не должен быть абсолютным: он относительно константы ABSPATH
определенной WordPress.
Обратите внимание, что невозможно переместить каталог тем, который всегда должен быть подкаталогом themes
каталога контента, определенного с WP_CONTENT_DIR
константы WP_CONTENT_DIR
.
Отладка
Отчет об ошибках
Мы уже видели, что мы можем активировать режим отладки благодаря константе WP_DEBUG
установленной в true
. Если вы активируете эту опцию, WordPress отобразит все ошибки, повысив уровень сообщения об ошибках до E_ALL
и вы будете знать, когда будете использовать устаревшие функции, благодаря предупреждениям.
Вы можете контролировать способ сообщения об ошибках, играя с WP_DEBUG_LOG
и WP_DEBUG_DISPLAY
. При значении true
первый будет отправлять ошибки в файл журнала, а второй будет непосредственно отображать ошибки.
// I don't want to miss any errors! define('WP_DEBUG', true); define('WP_DEBUG_LOG', true); define('WP_DEBUG_DISPLAY', true);
Скрипты и стили WordPress
Еще одна полезная константа — это SCRIPT_DEBUG
. Еще раз, это логическое значение по умолчанию false
. Установив значение true
, WordPress изменит способ включения файлов JavaScript и CSS. По умолчанию он включает их минимизированные версии, но, когда эта опция активирована, он включает их полные версии, что полезно, когда вы хотите отредактировать их.
define('SCRIPT_DEBUG', true);
Запросы
Если вам нужно проанализировать запросы, которые WordPress выполняет во время отображения страницы, вы можете установить константу SAVEQUERIES
в значение true
.
define('SAVEQUERIES', true);
Таким образом, вы сможете получить все запросы в атрибуте $wpdb
объекта $wpdb
. Например, в нижнем колонтитуле можно отобразить запросы, если текущий пользователь является администратором.
if (current_user_can('administrator')) { global $wpdb; echo '<pre>' . print_r($wpdb->queries, true) . '</pre>'; }
Пост-Относительные Константы
Ревизии
Как вы, возможно, знаете, каждый раз, когда вы редактируете сообщение или страницу, WordPress сохраняет ваши изменения в «ревизии». Таким образом, вы сможете получить предыдущую версию своего сообщения и отменить некоторые изменения, если это необходимо.
Если вы уверены, что не хотите исправлений, вы можете отключить это поведение, установив для константы WP_POST_REVISIONS
значение false
. По умолчанию его значение равно true
и WordPress будет создавать новую ревизию каждый раз, когда вы редактируете сообщение, но вы также можете ограничить количество ревизий, указав целое число в качестве значения той же константе.
// I don't want to create revisions define('WP_POST_REVISIONS', false); // I love revisions! define('WP_POST_REVISIONS', true); // Too many revisions? define('WP_POST_REVISIONS', 3);
Автоматическое сохранение
Когда вы редактируете публикацию (или создаете новую), WordPress не ждет, когда вы закончите редактирование, чтобы сохранить черновик или ревизию: используя AJAX, он будет регулярно сохранять ваши изменения, учитывая задержку, данную константой AUTOSAVE_INTERVAL
. По умолчанию эта задержка составляет 60 секунд, но вы можете изменить ее, указав желаемое количество секунд.
// Save my changes two times per minute define('AUTOSAVE_INTERVAL', 30);
Мусорное ведро
Иногда мы удаляем сообщения. Для этого WordPress предоставляет нам корзину для мусора и очищает эту корзину каждые 30 дней. Вы можете изменить эту задержку, установив EMPTY_TRASH_DAYS
количество дней в константу EMPTY_TRASH_DAYS
. Если вы установите это значение в 0
, WordPress отключит мусорное ведро: удалив сообщение, оно будет удалено навсегда, без какого-либо подтверждения.
// Delete permanently items from the trash bin every two months define('EMPTY_TRASH_DAYS', 60);
// Disabling the trash bin define('EMPTY_TRASH_DAYS', 0);
Обратите внимание, что все мусорные баки задействованы, поэтому будут удалены не только сообщения, но и страницы, комментарии и вложения.
В заключение
Файл wp-config важен в любой установке WordPress. Он определяет параметры базы данных, необходимые для хранения данных, а также некоторые полезные параметры при разработке плагина или темы для WordPress.
Теперь вы знаете, что можно найти в этом файле, поэтому вы можете редактировать его без каких-либо проблем. Не забывайте всегда проверять свои изменения в локальной версии WordPress, чтобы предотвратить возможные проблемы на живом сайте.
Как указано выше, список изменений и дополнений, которые мы затронули в этой статье, ни в коем случае не является исчерпывающим. Я попытался представить вам константы, которые я считаю наиболее полезными, но Кодекс WordPress дает вам еще больше возможностей для файла wp-config, если вы хотите изучить его глубже.