Dokumentacja WordPress do określania wtyczek i katalogów treści stwierdza, że:
WordPress korzysta z następujących stałych przy określaniu ścieżki do zawartości i katalogów wtyczek. Nie powinny być one używane bezpośrednio przez wtyczki lub motywy , ale są wymienione tutaj dla kompletności.
Przechodzi do listy WP_CONTENT_DIR
i WP_PLUGIN_DIR
wśród stałych, których twórcy motywów i wtyczek nie powinni używać, prawdopodobnie z tego powodu:
WordPress pozwala użytkownikom na umieszczenie katalogu wp-content w dowolnym miejscu, więc nigdy nie należy zakładać, że wtyczki będą w treści / wtyczkach wp, że przesyłanie będzie w treści wp / treści, lub że motywy będą w wp- treść / tematy.
Mark Jaquith komentuje tutaj również , że tych stałych nie należy używać:
Nie używaj WP_PLUGIN_URL lub WP_PLUGIN_DIR - wtyczki mogą nie znajdować się w katalogu wtyczek.
Jaki jest zatem akceptowany sposób odwoływania się do pełnej ścieżki do wtyczek, zawartości wp i folderów kompozycji bez użycia tych stałych?
Jako prosty przykład, aby wyświetlić pełną ścieżkę wszystkich zainstalowanych wtyczek, mogę to zrobić:
<?php
$plugins = get_plugins();
foreach ($plugins as $file => $details) {
echo WP_PLUGIN_DIR . '/' . $file . '<br>';
}
Który tworzy taką listę:
/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
(Może chciałbym to zrobić, gdybym pisał wtyczkę, aby umożliwić użytkownikowi selektywne archiwizowanie wtyczek, na przykład w ramach kopii zapasowej witryny).
Jeśli użycie WP_PLUGIN_DIR
jest nieprawidłowe, jaka jest sugerowana alternatywa? Nie ma odpowiednika wp_upload_dir()
dla wtyczek, motywów i folderu zawartości wp, który mogę znaleźć, co sprawia, że odwołanie się do potencjalnie błąkających się motywów i katalogów głównych wtyczek jest problematyczne.
WP_PLUGIN_DIR
, stąd moje pytanie tutaj.