Mevcut eklenti dizini gibi almak gerekir
[wordpress_install_dir]/wp-content/plugins/plugin_name
(Eklentiden getcwd()
çağrılırsa, kurulumun kökü [wordpress_install_dir]
döndürür)
yardım için teşekkürler
Kendi cevabınıza bakıp @Bog, sanırım istediğiniz;
$plugin_dir_path = dirname(__FILE__);
Neden bu amaç için özel olarak tasarlanmış WordPress çekirdek fonksiyonunu kullanmıyorsunuz?
<?php plugin_dir_path( __FILE__ ); ?>
Codex belgelerine bakın here .
Sende var
<?php plugin_dir_url( __FILE__ ); ?>
aradığınız şey bir sunucu yolunun aksine bir URI ise.
Codex belgelerine bakın here .
IMO, çekirdekte bulunan en üst düzey yöntemi kullanmak her zaman en iyisidir ve budur. Kodunuzu daha gelecekteki kanıtı yapar.
Bu aslında istediğiniz sonucu alacak:
<?php plugin_dir_url(__FILE__); ?>
http://codex.wordpress.org/Function_Reference/plugin_dir_url
Eklenti dizini almak için Wordpress işlevini plugin_basename($file)
kullanabilirsiniz. Bu yüzden kullanacağınız eklenti klasörünü ve dosya adını çıkarmak için aşağıdaki gibidir:
$plugin_directory = plugin_basename(__FILE__);
Bunu URL ile veya eklenti dizininin sunucu yolu ile birleştirebilirsiniz. Bunun için eklenti dizin url'sini almak için WP_PLUGIN_URL
sabitlerini veya sunucu yolunu almak için WP_PLUGIN_DIR
sabitlerini kullanabilirsiniz. Ancak Mark Jaquith 'in aşağıdaki yorumda belirtildiği gibi, bu yalnızca eklentiler Wordpress eklenti dizininde bulunuyorsa çalışır.
Wordpress kodeksi ile ilgili daha fazla bilgi edinin.
$full_path = WP_PLUGIN_URL . '/'. str_replace( basename( __FILE__ ), "", plugin_basename(__FILE__) );
Bu bağlantı yardımcı olabilir: http://codex.wordpress.org/Determining_Plugin_and_Content_Directories .
Bunu dene:
function PluginUrl() {
//Try to use WP API if possible, introduced in WP 2.6
if (function_exists('plugins_url')) return trailingslashit(plugins_url(basename(dirname(__FILE__))));
//Try to find manually... can't work if wp-content was renamed or is redirected
$path = dirname(__FILE__);
$path = str_replace("\\","/",$path);
$path = trailingslashit(get_bloginfo('wpurl')) . trailingslashit(substr($path,strpos($path,"wp-content/")));
return $path;
}
echo PluginUrl (); geçerli eklenti url'sini döndürür.
Dizini almam gerektiğinde, sadece eklentiler için değil (plugin_dir_path), ama daha genel olanlardan biri, __DIR__
kullanabilirsiniz, size çağrılan dosyanın dizin yolunu verecektir. Artık functions.php veya başka bir dosyadan kullanabilirsiniz!
Açıklama:
Dosyanın dizini. Bir içerir içinde kullanılırsa, dahil dosya döndürülür. Bu eşittir dizinismi (
__FILE__
). Bu dizin adında bir eğik çizgi yok. Kök dizini olmadığı sürece. 1
WP 2.6.0'dan beri plugins_url()
method kullanabilirsiniz.
Eğer bunun için bir dosya içinde mevcut dizin yolunu almak istiyorsanız, plugin_dir_path()
işlevine sahip __FILE__
ve __DIR__
sihirli sabitlerini şöyle yapabilirsiniz:
$dir_path = plugin_dir_path( __FILE__ );
Geçerli Dizin Yolu:
/home/user/var/www/wordpress_site/wp-content/plugins/custom-plugin/
__FILE__
sihirli sabiti geçerli dizin yolunu döndürür.
Geçerli dizinden bir seviye yukarı çıkmak istiyorsanız. __DIR__
magic sabitini aşağıdaki gibi kullanmalısınız:
Şuanki yol:
/home/user/var/www/wordpress_site/wp-content/plugins/custom-plugin/
$dir = plugin_dir_path( __DIR__ );
Bir seviye yukarı yol:
/home/user/var/www/wordpress_site/wp-content/plugins/
__DIR__
magic sabiti, bir seviye yukarı dizin yolu döndürür.