Dokumentasi WordPress untuk Menentukan Plugin dan Direktori Konten menyatakan bahwa:
WordPress menggunakan konstanta berikut ketika menentukan jalur ke direktori konten dan plugin. Ini tidak boleh digunakan secara langsung oleh plugin atau tema , tetapi terdaftar di sini untuk kelengkapan.
Selanjutnya ke daftar WP_CONTENT_DIR
dan di WP_PLUGIN_DIR
antara konstanta bahwa pengembang tema dan plugin tidak boleh menggunakan, mungkin karena ini:
WordPress memungkinkan pengguna untuk menempatkan direktori konten-wp di mana pun mereka inginkan, jadi Anda tidak boleh berasumsi bahwa plugin akan berada di konten-wp / plugin, atau bahwa unggahan akan berada di konten-wp / unggahan, atau bahwa tema akan ada di wp- konten / tema.
Mark Jaquith juga berkomentar di sini bahwa konstanta itu tidak boleh digunakan:
Jangan gunakan WP_PLUGIN_URL atau WP_PLUGIN_DIR - plugin mungkin tidak ada di direktori plugins.
Jadi, apa cara yang diterima untuk merujuk path lengkap ke folder plugins, konten-wp, dan tema tanpa menggunakan konstanta ini?
Sebagai contoh sederhana, untuk menampilkan path lengkap dari semua plugin yang diinstal, saya dapat melakukan ini:
<?php
$plugins = get_plugins();
foreach ($plugins as $file => $details) {
echo WP_PLUGIN_DIR . '/' . $file . '<br>';
}
Yang menghasilkan daftar seperti ini:
/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
(Saya mungkin ingin melakukan ini jika saya sedang menulis sebuah plugin untuk memungkinkan pengguna untuk secara selektif mengarsipkan plugin sebagai bagian dari cadangan situs, misalnya.)
Jika menggunakan WP_PLUGIN_DIR
salah, apa alternatif yang disarankan? Tidak ada yang setara dengan wp_upload_dir()
untuk plugin, tema, dan folder konten-wp yang dapat saya temukan, yang membuat referensi tema yang berpotensi berkelana dan direktori root plugin bermasalah.
WP_PLUGIN_DIR
, maka pertanyaan saya di sini.