Файл wp-config.php — один з найулюбленіших деякими розробниками елементів WordPress, один з найстрашніших нічних кошмарів для інших.

Численні автори статей наводять безліч порад і хитрощів, і охопити їх всі просто неможливо; але в цій статті ми хочемо підійти до питання трохи по-іншому.

У цій статті ми розглянемо вісім нових прийомів wp-config, які менш відомі, ніж такі функції, як відключення ревізій записів, збільшення обсягу пам’яті або інші подібні.

Не забудьте зробити резервну копію системи! Поради в цій статті, не включають в себе зміну будь-яких значень бази даних і не зачіпають інші файли WordPress (крім wp-config.php, звичайно), так що ви можете просто зберегти копію вихідного файлу wp-config.php.

Однак для надійності ви можете зробити копію вашої бази даних і файлів. Краще перестрахуватися, ніж потім шкодувати про не зроблене — створення резервних копій як можна частіше це завжди корисно!

1. Установка теми за промовчанням для тільки що інстальованої системи WordPress за допомогою WP_DEFAULT_THEME

Скажімо, ви веб-дизайнер-фрілансер (або уявляєте дизайн-студію), який використовує базову тему WordPress майже для кожного свого клієнта.

Не було б здорово, якщо б вам не потрібно було змінювати тему з «Twenty-Скільки-то-там» на «Круту базову тему» кожен раз, коли ви встановлюєте нову систему WordPress?

Що ж, константа WP_DEFAULT_THEME зможе допомогти в цьому:

define( ‘WP_DEFAULT_THEME’, ‘default theme-folder-name’ );

Ви можете запитати: «Як я можу встановити іншу тему за замовчуванням, відредагувавши файл wp-config.phpякщо цей файл створюється при установці WordPress?» Відмінний питання.

Але у цьому випадку ми не збираємося вносити зміни в файл wp-config.php: замість цього ми вставляємо наведений вище код в файл wp-config-sample.php!

Я не кажу про редагуванні і перейменування файлу, ніби ми все ще в 2006 році. Я кажу про редагуванні файлу і надання його в такому вигляді: WordPress може сам виявити зміни і доповнення всередині файлу wp-config-sample.php (за винятком змін, що стосуються прав доступу до бази даних) і використовувати їх при установці нової копії WordPress.

Витончено, чи не правда? Ні на одному сайті я не знайшов згадок про цьому чудовому способі (сам я натрапив на цю техніку випадково), і ця стаття, можливо, вперше розповідає про цієї функції.

2. Відключення функції автоматичного оновлення WordPress за допомогою AUTOMATIC_UPDATER_DISABLED

У вас можуть бути свої причини не бажати того, щоб WordPress оновлювати автоматично: ви можете бути розробником, який повинен працювати з багатьма версіями WordPress одночасно, або ваш веб-сайт розміщується на дуже нестабільному сервері, і від вас потрібно бути вкрай обережними.

У будь-якому випадку, ми пропонуємо вам рішення, як відключити автоматичні оновлення WordPress:

define( ‘AUTOMATIC_UPDATER_DISABLED’, true );

3. Включення функції «Trash» для медіа-файлів з допомогою MEDIA_TRASH

Кому-небудь доводилося кричати не своїм голосом і посипати всіх і вся прокльонами протягом семи хвилин, після того, як ви видалили медіа-файл, який видаляти не варто було? Мені доводилося, перш ніж я дізнався про цю константі WordPress:

define( ‘MEDIA_TRASH’, true );

Встановіть її, і вам більше ніколи не доведеться турбуватися про видалення медіа-файлів — якщо тільки ви не відключіть функцію «trash» зовсім, встановивши для константи EMPTY_TRASH_DAYS значення «0».

З цим теж треба бути обережним.

4. Дозвіл WordPress ігнорувати зміст папки wp-content при оновленні з допомогою CORE_UPGRADE_SKIP_NEW_BUNDLED

Я не використовую теми. Ніколи. Я не проти них, і не те щоб вони мені не подобалися. Просто я віддаю перевагу створювати і використовувати свої власні теми.

Таким чином, мені не потрібна нова тема за замовчуванням при установці основних оновлень.

Оскільки WordPress дуже гнучка система, я не самотній у тому, що хочу пропустити внесення змін в папку wp-content:

define( ‘CORE_UPGRADE_SKIP_NEW_BUNDLED’, true );

Це також може зробити процес оновлення трохи швидше. Навряд чи більше, ніж на секунду, але все — таки.

5. Дозвіл завантажень WordPress без застосування фільтрів для адміністраторів з допомогою ALLOW_UNFILTERED_UPLOADS

WordPress має деякі обмеження за типами файлів при завантаженні даних в бібліотеку мультимедіа. Ви не можете завантажити туди нічого, крім зображень, документів, аудіо або відео файлів — і це добре для безпеки.

Але що, якщо ви незалежний розробник програмного забезпечення і хочете завантажити нові версії програмного забезпечення — ви будете використовувати FTP-клієнт при кожному оновленні програмного забезпечення?

Нічого подібного, вам просто потрібно задати ALLOW_UNFILTERED_UPLOADS для ALLOW_UNFILTERED_UPLOADS наступним чином:

define( ‘ALLOW_UNFILTERED_UPLOADS’, true );

Цей код не дозволяє користувачам завантажувати будь-які типи файлів. Тільки адміністратори можуть завантажити все, що їм потрібно.

6. Динамічна настройка WPLANG для багатомовних сайтів

Якщо у вас є багатомовний сайт і вам потрібно, щоб мова вашої теми можна було змінювати в панелі адміністрування, ви можете зробити невелику хитрість для визначення мови браузера відвідувача і визначити константу WPLANG на основі отриманої інформації.

По-перше, вам потрібно створити файл wp-lang.php і додати до нього наведений нижче код, а потім зберегти цей файл у тій же директорії, де знаходиться файл wp-config.php:

Після цього в файлі wp-config.php, замініть рядок, де визначається WPLANG наступним рядком:

require_once( dirname( __FILE__ ) . ‘/wp-lang.php’ );

Вуаля! Тепер відвідувачі можуть змінювати мову вашої теми і панелі адміністрування простим натисканням кнопки з параметром URL-адреси lang=fr_FR.

1. Призначення ваших API ключів WordPress.com в якості константи з допомогою WPCOM_API_KEY

Якщо ви використовуєте плагін, який вимагає API ключі WordPress.com (наприклад, Jetpack або Akismet) і ведете багато сайтів на WordPress, це може бути трохи втомлює кожен раз при установці плагіна вводити API ключ WordPress.com.

Ось вам простий спосіб, як вирішити цю проблему. Ви можете визначити свій ключ API у файл wp-config.php в якості константи:

define( ‘WPCOM_API_KEY’, ‘YourKeyHere’ );

Перевірте, чи підтримують цю функцію інші ваші улюблені плагіни. Такі плагіни, як SlideDeck і Gravity Forms також підтримують призначення API ключів констант.

2. Перепризначення дозволених HTML-тегів з допомогою CUSTOM_TAGS

У WordPress є функція wp_kses(), яка описується в Кодексі WordPress наступним чином:
« … забезпечує, щоб у $string містилися тільки дозволені назви HTML-елементів, назви атрибутів, значення атрибутів, а також тільки безпечні об’єкти HTML».

Ви можете редагувати правила фільтрації, наприклад:

array () );
return $string;
}
add_filter( ‘pre_kses’, ‘my_filter’ );
?>

Але якщо вам потрібен повний контроль, тобто переписування змінних $allowedposttags,$allowedtags і $allowedentitynames, ви можете зробити це, встановивши у файлі wp-config.php значення true для константи CUSTOM_TAGS:

define( ‘CUSTOM_TAGS’, true );
$allowedposttags = array();
$allowedtags = array();
$allowedentitynames = array();

Нижче ви повинні перепризначити кожну змінну. Ви можете просто скопіювати і вставити змінні wp-includes/kses.php, а потім відредагувати доданий код.

Висновок

Близько двох років тому я написав статтю Освоюємо файл wp-config.php -11 корисних практик, і на той час вона стала однією з найбільш популярних статей з WordPress.

А два роки потому я публіку іншу статтю за wp-config, але на цей раз я вирішив поділитися з вами порадами, про яких ви, можливо, навіть не чули.

Я сподіваюся, вона вам сподобається.

А як щодо вас самих, чи відомі вам якісь трюки з wp-config? Поділіться своїм досвідом в коментарях! І якщо вам сподобалася стаття, не забудьте поділитися посиланням!

Переклад статті «New wp-config Tweaks You Probably don’t Know» був підготовлений дружною командою проекту Сайтостроение від А до Я.