Muszę uzyskać bieżący katalog wtyczek, np
[wordpress_install_dir]/wp-content/plugins/plugin_name
(jeśli getcwd()
zostanie wywołane z wtyczki, zwróci [wordpress_install_dir]
, katalog główny instalacji)
dzięki za pomoc
Muszę uzyskać bieżący katalog wtyczek, np
[wordpress_install_dir]/wp-content/plugins/plugin_name
(jeśli getcwd()
zostanie wywołane z wtyczki, zwróci [wordpress_install_dir]
, katalog główny instalacji)
dzięki za pomoc
Patrząc na twoją własną odpowiedź @Bog, myślę, że chcesz;
$plugin_dir_path = dirname(__FILE__);
__DIR__
, która osiąga to samo.
- person dave1010; 09.06.2011
plugin_dir_path( $file )
jest jedynie opakowaniem dla trailingslashit( dirname( $file ) )
- twierdzę, że nie jest bardziej przyszłościowy niż mój; jedyną różnicą jest ukośnik końcowy.
- person TheDeadMedic; 04.04.2012
dirname( __FILE__ ) . '/'
. Wszystko inne zagroziłoby funkcjonalności dowolnej wtyczki, która z niej korzysta.
- person TheDeadMedic; 05.04.2012
Dlaczego nie skorzystać z podstawowej funkcji WordPressa, która została zaprojektowana specjalnie do tego celu?
<?php plugin_dir_path( __FILE__ ); ?>
Zobacz dokumentację Kodeksu tutaj.
Masz także
<?php plugin_dir_url( __FILE__ ); ?>
jeśli szukasz adresu URI, a nie ścieżki serwera.
Zobacz dokumentację Kodeksu tutaj.
IMO zawsze najlepiej jest zastosować metodę najwyższego poziomu dostępną w rdzeniu i to wszystko. Dzięki temu Twój kod będzie bardziej przyszłościowy.
plugins_url( 'images/image_inside_plugin_folder.png' , __FILE__ )
- person Tom Auger; 31.10.2011
plugin_dir_path
niekoniecznie pobiera katalog wtyczki, pobiera katalog nadrzędny ścieżki podanej jako pierwszy argument. Zatem jeśli __FILE__
nie znajduje się w katalogu wtyczek, plugin_dir_path( __FILE__ )
nie zwróci katalogu wtyczek. Zobacz więcej informacji na temat plugin_dir_path
- person Flimm; 11.10.2017
plugin_dir_url
otrzymuję zabroniony dostęp.
- person Jovanni G; 27.04.2018
To faktycznie da pożądany rezultat:
<?php plugin_dir_url(__FILE__); ?>
http://codex.wordpress.org/Function_Reference/plugin_dir_url
Aby uzyskać katalog wtyczek, możesz użyć funkcji Wordpress plugin_basename($file)
. Aby wyodrębnić folder i nazwę pliku wtyczki, użyjesz poniższej instrukcji:
$plugin_directory = plugin_basename(__FILE__);
Można to połączyć z adresem URL lub ścieżką serwera katalogu wtyczek. Dlatego możesz użyć stałych WP_PLUGIN_URL
, aby uzyskać adres URL katalogu wtyczki lub WP_PLUGIN_DIR
, aby uzyskać ścieżkę serwera. Ale jak wspomniał Mark Jaquith w komentarzu poniżej, działa to tylko wtedy, gdy wtyczki znajdują się w katalogu wtyczek Wordpress.
Więcej informacji na ten temat znajdziesz w kodeksie WordPress.
WP_PLUGIN_URL
ani WP_PLUGIN_DIR
— wtyczki mogą nie znajdować się w katalogu wtyczek.
- person Mark Jaquith; 20.08.2011
$full_path = WP_PLUGIN_URL . '/'. str_replace( basename( __FILE__ ), "", plugin_basename(__FILE__) );
Ten link może być pomocny: http://codex.wordpress.org/Determining_Plugin_and_Content_Directories.
Spróbuj tego:
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;
}
echoUrl wtyczki(); zwróci bieżący adres URL wtyczki.
Od wersji WP 2.6.0 możesz używać metody plugins_url()
.
str_replace(site_url('/'), ABSPATH, plugins_url());
- person Idham Perdameian; 12.10.2017
Kiedy potrzebuję uzyskać katalog, nie tylko dla wtyczek (ścieżka_katalogu_wtyczek), ale także bardziej ogólny, możesz użyć __DIR__
, otrzymasz ścieżkę do katalogu pliku, który nazywa się . Teraz możesz używać z functions.php lub innego pliku!
Opis:
Katalog pliku. Jeśli zostanie użyte wewnątrz dołączenia, zwracany jest katalog dołączonego pliku. Jest to odpowiednik nazwykatalogu(
__FILE__
). Ta nazwa katalogu nie ma końcowego ukośnika, chyba że jest to katalog główny. 1
Jeśli chcesz uzyskać bieżącą ścieżkę katalogu w pliku, możesz użyć magicznych stałych __FILE__
i __DIR__
z funkcją plugin_dir_path()
jako:
$dir_path = plugin_dir_path( __FILE__ );
Ścieżka bieżącego katalogu:
/home/user/var/www/wordpress_site/wp-content/plugins/custom-plugin/
__FILE__
magiczna stała zwraca bieżącą ścieżkę katalogu.
Jeśli chcesz przejść o jeden poziom wyżej od bieżącego katalogu. Powinieneś użyć magicznej stałej __DIR__
jako:
Aktualna ścieżka:
/home/user/var/www/wordpress_site/wp-content/plugins/custom-plugin/
$dir = plugin_dir_path( __DIR__ );
Ścieżka o jeden poziom wyżej:
/home/user/var/www/wordpress_site/wp-content/plugins/
__DIR__
magiczna stała zwraca ścieżkę katalogu o jeden poziom wyżej.
W głównym pliku PHP wtyczki działa to tylko w trybie admin:
$plugin_data = get_plugin_data( __FILE__ );
$plugin_name = $plugin_data['Name'];