Ich muss das aktuelle Plugin-Verzeichnis gerne abrufen
[wordpress_install_dir]/wp-content/plugins/plugin_name
(Wenn getcwd()
vom Plugin aufgerufen wurde, wird [wordpress_install_dir]
, der Stamm der Installation, zurückgegeben.)
danke für die Hilfe
Wenn du deine Antwort ansiehst, @Bog, denke ich, du willst;
$plugin_dir_path = dirname(__FILE__);
Warum nicht die WordPress-Kernfunktion verwenden, die speziell für diesen Zweck entwickelt wurde?
<?php plugin_dir_path( __FILE__ ); ?>
Siehe Codex-Dokumentation hier .
Sie haben auch
<?php plugin_dir_url( __FILE__ ); ?>
wenn Sie suchen, ist ein URI im Gegensatz zu einem Serverpfad.
Siehe Codex-Dokumentation hier .
IMO ist es immer am besten, die im Core verfügbare Methode der höchsten Ebene zu verwenden, und das ist es. Dadurch wird Ihr Code zukunftssicherer.
Dies wird tatsächlich das gewünschte Ergebnis erhalten:
<?php plugin_dir_url(__FILE__); ?>
http://codex.wordpress.org/Function_Reference/plugin_dir_url
Um das Plugin-Verzeichnis zu erhalten, können Sie die Wordpress-Funktion plugin_basename($file)
verwenden. So würden Sie folgendermaßen vorgehen, um den Ordner und den Dateinamen des Plugins zu extrahieren:
$plugin_directory = plugin_basename(__FILE__);
Sie können dies mit der URL oder dem Serverpfad des Plugin-Verzeichnisses kombinieren. Daher können Sie die Konstanten WP_PLUGIN_URL
verwenden, um den Plugin-Verzeichnis-URL oder WP_PLUGIN_DIR
den Serverpfad abzurufen. Da Mark Jaquith in einem Kommentar weiter unten erwähnt wird, funktioniert dies nur, wenn sich die Plugins im Wordpress-Plugin-Verzeichnis befinden.
Lesen Sie mehr darüber im Wordpress-Codex .
$full_path = WP_PLUGIN_URL . '/'. str_replace( basename( __FILE__ ), "", plugin_basename(__FILE__) );
Dieser Link kann hilfreich sein: http://codex.wordpress.org/Determining_Plugin_and_Content_Directories .
Versuche dies:
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 (); gibt die aktuelle Plugin-URL zurück.
Wenn ich das Verzeichnis abrufen muss, nicht nur für die Plugins (plugin_dir_path), sondern ein generischeres, können Sie __DIR__
verwenden. Es gibt Ihnen den Pfad des Verzeichnisses der Datei, in der aufgerufen wird. Jetzt können Sie aus functions.php oder einer anderen Datei verwenden!
Beschreibung:
Das Verzeichnis der Datei. Bei Verwendung in einem Include das Verzeichnis von Die enthaltene Datei wird zurückgegeben. Dies ist äquivalent zu dirname (
__FILE__
). Dieser Verzeichnisname hat keinen nachgestellten Schrägstrich Es sei denn, es ist das Stammverzeichnis. 1
Seit WP 2.6.0 können Sie die Methode plugins_url()
verwenden.
Wenn Sie den aktuellen Verzeichnispfad in einer Datei abrufen möchten, können Sie die magischen Konstanten __FILE__
und __DIR__
mit plugin_dir_path()
wie folgt verwenden:
$dir_path = plugin_dir_path( __FILE__ );
Pfad zum aktuellen Verzeichnis:
/home/user/var/www/wordpress_site/wp-content/plugins/custom-plugin/
__FILE__
magische Konstante gibt den aktuellen Verzeichnispfad zurück.
Wenn Sie aus dem aktuellen Verzeichnis eine Ebene höher werden möchten. Sie sollten __DIR__
magische Konstante verwenden als:
Aktueller Pfad:
/home/user/var/www/wordpress_site/wp-content/plugins/custom-plugin/
$dir = plugin_dir_path( __DIR__ );
Eine Ebene nach oben:
/home/user/var/www/wordpress_site/wp-content/plugins/
__DIR__
magische Konstante gibt einen Verzeichnispfad auf einer Ebene nach oben zurück.