it-swarm.com.de

Wie bekomme ich das aktuelle Plugin-Verzeichnis in WordPress?

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

34
bog

Wenn du deine Antwort ansiehst, @Bog, denke ich, du willst;

$plugin_dir_path = dirname(__FILE__);
33
TheDeadMedic

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.

66
Tom Auger

Dies wird tatsächlich das gewünschte Ergebnis erhalten:

<?php plugin_dir_url(__FILE__); ?>

http://codex.wordpress.org/Function_Reference/plugin_dir_url

14
brenjt

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 .

8
stefanglase
$full_path = WP_PLUGIN_URL . '/'. str_replace( basename( __FILE__ ), "", plugin_basename(__FILE__) );
  • WP_PLUGIN_URL - die URL des Plugins-Verzeichnisses
  • WP_PLUGIN_DIR - der Serverpfad zum Plugins-Verzeichnis 

Dieser Link kann hilfreich sein: http://codex.wordpress.org/Determining_Plugin_and_Content_Directories .

3
manish nautiyal

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.

2
Pennywise83

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.

1

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.

0
Gufran Hasan