Eklenti ve İçerik Dizinlerinin Belirlenmesi için WordPress belgeleri şunları belirtir:
WordPress, içerik ve eklenti dizinlerinin yolunu belirlerken aşağıdaki sabitleri kullanır. Bunlar doğrudan eklentiler veya temalar tarafından kullanılmamalıdır , ancak tamlık için burada listelenmiştir.
Tema ve eklenti geliştiricilerinin muhtemelen bu nedenle kullanmaması gereken sabitleri listeliyor WP_CONTENT_DIR
ve devam ediyor WP_PLUGIN_DIR
:
WordPress, kullanıcıların wp-içerik dizinlerini istedikleri yere yerleştirmelerine izin verir, bu nedenle eklentilerin wp-içerik / eklentilerde olacağını veya yüklemelerin wp-içerik / yüklemelerde olacağını veya temaların wp- content / temalar.
Mark Jaquith de burada bu sabitlerin kullanılmaması gerektiğini söylüyor:
WP_PLUGIN_URL veya WP_PLUGIN_DIR kullanmayın - eklentiler eklenti dizininde olmayabilir.
Peki, bu sabitleri kullanmadan eklentilere, wp içeriğine ve tema klasörlerine giden tam yolu göndermenin kabul edilen yolu nedir?
Basit bir örnek olarak, yüklü tüm eklentilerin tam yolunu çıkarmak için bunu yapabilirim:
<?php
$plugins = get_plugins();
foreach ($plugins as $file => $details) {
echo WP_PLUGIN_DIR . '/' . $file . '<br>';
}
Hangi böyle bir liste üretir:
/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
(Kullanıcının örneğin site yedeklemesinin bir parçası olarak eklentileri seçerek arşivlemesine izin vermek için bir eklenti yazıyordum bunu yapmak isteyebilirsiniz.)
Kullanmak WP_PLUGIN_DIR
yanlışsa önerilen alternatif nedir? wp_upload_dir()
Ekleyebileceğim eklentiler, temalar ve wp-içerik klasörü için eşdeğer yoktur , bu da potansiyel gezici temalara ve eklenti kök dizinlerine başvurmayı sorunlu hale getirir.
WP_PLUGIN_DIR
buradaki soruma bir alternatif önermez .