Как вы знаете административная панель сайта WordPress находится по адресу /wp-admin. Это не всегда удобно, но главное не безопасно. В этой статье мы изменим URL для входа в административную панель WordPress.
Изменяем URL административной панели WordPress
Первое, что нужно сделать это добавить в начало файла wp-config.php следующий код.
<?php
define('WP_ADMIN_DIR', 'qwerty');
define( 'ADMIN_COOKIE_PATH', SITECOOKIEPATH . WP_ADMIN_DIR);
…
Следующим шагом нам надо в конец файла wp-includes/functions.php добавить фильтр.
…
/* изменим wp-admin на WP_ADMIN_DIR */
add_filter('site_url', 'wpadmin_filter', 10, 3);
function wpadmin_filter( $url, $path, $orig_scheme ) {
$old = array( "/(wp-admin)/");
$admin_dir = WP_ADMIN_DIR;
$new = array($admin_dir);
return preg_replace( $old, $new, $url, 1);
}
И в файл .htaccess прописать преобразование, т.е. мы будем получать /qwerty/<что-то>, а преобразовывать в /wp-admin/<что-то>. Находим строку
RewriteEngine On # И после нее вставляем следующий директиву:
RewriteRule ^qwerty/(.*) wp-admin/$1?%{QUERY_STRING} [L]
Отлично, можно проверить. Давайте зайдем в админ панель WordPress по адресу /qwerty и авторизуемся. Мы добились того, чего хотели. Но у нас проблема: в админ панель мы можем зайти как по адресу /qwerty (что мы и сделали выше), так и по адресу wp-admin.
Закрыть адрес wp-admin в WordPress
Нам необходимо сделать так, чтобы заходя на адрес wp-admin/<что-то> нас перенаправляло на 404 страницу, т.е. страница не найдена.
Для этого в конец файла wp-includes/functions.php следующий фильтр.
/*wp-admin, ошибка 404*/
add_action( 'init', 'block_wp_admin' );
function block_wp_admin() {
if(strpos($_SERVER['REQUEST_URI'],'wp-admin') != false){
wp_redirect( home_url().'/404' );
exit;
}
}
Проверяем. Переходим по адресу /wp-admin.
Что такое файл конфигурации WordPress
Файл конфигурации WordPress – это простой php-файл, который содержит основные настройки WordPress. Такие, как логин и пароль к базе данных. Поэтому при работе с данным файлом будьте особенно осторожны, ошибка в конфигурации приведет к полной (или частичной) неработоспособности WordPress.
Настройки базы данных
Параметры базы данных являются единственными обязательными настройками. С помощью следующих констант мы можем настроить доступ к базе данных:
DB_NAME – имя базы данных
DB_USER – имя пользователя для MySQL
DB_PASSWORD – пароль пользователя MySQL
DB_HOST – имя сервера MySQL
DB_CHARSET – кодировка базы данных
DB_COLLATE – схема сопоставления
Также мы можем задать префикс для таблиц с помощью переменной $table_prefix. Если мы хотим использовать несколько сайтов, использующих одну базу данных, то задание префикса поможет нам избежать конфликтов.
Ключи и соли
Для более надежного шифрования в WordPress используется ключи и соли. Значения, которых содержаться в 8 константах:
AUTH_KEY
SECURE_AUTH_KEY
LOGGED_IN_KEY
NONCE_KEY
AUTH_SALT
SECURE_AUTH_SALT
LOGGED_IN_SALT
NONCE_SALT
Локализация WordPress
В константе WPLANG устанавливается локализация. Например, для включения русской локализации в константу необходимо поместить значение «ru_RU». Но помните, что для выбранного языка в wp-content/language должен быть установлен соответствующий MO-файл.
Отладка
Режим отладки очень полезная функция для разработчика. В режиме отладке WordPress показывает ошибки и предупреждения. По умолчанию данный режим отключен define(‘WP_DEBUG’, false); Для включения режима отладки просто переопределяем значение константы на true. Кроме того мы можем включить режим отладки для встроенных JS-скриптов, добавив define(‘SCRIPT_DEBUG’, true);
Обновление WordPress
Для того, чтобы отключить автоматические обновления в WordPress. Просто добавьте.
define('AUTOMATIC_UPDATER_DISABLED', true);
Но, если мы хотим оставить автоматическое обновление важных (критических) обновлений, то добавьте константу.
define('WP_AUTO_UPDATE_CORE', true);
Адрес сайта WordPress
Константа WP_SITEURL позволяет переопределить адрес сайта, который установлен мы устанавливаем через админку в общих настройках. Пример:
define('WP_SITEURL', 'http://example.com/');
Внимание! Если будет установлена константа WP_SITEURL, то будет использоваться ее значение.
Перемещение папки WP-CONTENT
Мы можем перенести папку wp-content. Для этого необходимо просто определить константу WP_CONTENT_DIR
define( 'WP_CONTENT_DIR', $_SERVER['DOCUMENT_ROOT'] . '/test/wp-content' );
Или можем задать, следующим образом:
define( 'WP_CONTENT_URL', 'http://localhost.loc/test/wp-content');
Внимание! Обратите внимание, что при указании пути нет в конце слеша.
Изменение интервала сохранения
При редактировании статьи у нас происходит автосохранение. По умолчанию, автосохранение происходит через 60 сек. Мы может изменить интервал. Для этого определяем константу AUTOSAVE_INTERVAL
define('AUTOSAVE_INTERVAL', t );
Где t – параметр в секундах
Увеличение памяти для PHP
Для того, чтобы увеличить память PHP необходимо задать константу WP_MEMORY_LIMIT
define('WP_MEMORY_LIMIT', '64M');
Таким образом в файле wp-config.php мы можем переопределять основные настройки WordPress. Но будьте осторожны, изменения в wp-config.php могут привести к неработоспособности сайта. Перед изменением настроек WordPress сделайте бекап файла wp-config.php