Документація WordPress для визначення каталогів плагінів і вмісту зазначає, що:
WordPress використовує наступні константи при визначенні шляху до вмісту та каталогів плагінів. Вони не повинні використовуватися безпосередньо плагінами чи темами , але перераховані тут для повноти.
Він продовжує перераховувати WP_CONTENT_DIR
та WP_PLUGIN_DIR
серед констант розробники теми та плагінів не повинні використовувати, мабуть, через це:
WordPress дозволяє користувачам розміщувати свій каталог wp-вмісту куди завгодно, тому ви ніколи не повинні припускати, що плагіни будуть у wp-контенті / плагінах, або що завантаження будуть у wp-content / uploads, або що теми будуть у wp- зміст / теми.
Марк Джакіт також коментує, що ці константи не слід використовувати:
Не використовуйте WP_PLUGIN_URL або WP_PLUGIN_DIR - плагінів може не бути в каталозі плагінів.
Отже, який прийнятий спосіб посилання на повний шлях до папок плагінів, wp-вмісту та тем без використання цих констант?
Як простий приклад, щоб вивести повний шлях усіх встановлених плагінів, я можу це зробити:
<?php
$plugins = get_plugins();
foreach ($plugins as $file => $details) {
echo WP_PLUGIN_DIR . '/' . $file . '<br>';
}
Що створює такий список:
/var/www/wp-content/plugins/akismet/akismet.php
/var/www/wp-content/plugins/debug-bar/debug-bar.php
/var/www/wp-content/plugins/hello.php
(Я, можливо, захочу це зробити, якби я писав плагін, щоб дозволити користувачеві вибірково архівувати плагіни як частина резервної копії сайту.)
Якщо використання WP_PLUGIN_DIR
неправильно, що пропонується? Існує не еквівалент wp_upload_dir()
для плагінів, тем і папки вмісту wp, який я можу знайти, що робить посилання на потенційно блукаючі теми та кореневі каталоги плагінів проблематичними.
WP_PLUGIN_DIR
, звідси тут моє запитання.