it-swarm.dev

Come ottenere la directory del plugin corrente in WordPress?

Ho bisogno di ottenere la directory dei plugin corrente come 

[wordpress_install_dir]/wp-content/plugins/plugin_name

(se getcwd() ha chiamato dal plugin, restituisce [wordpress_install_dir], la root dell'installazione)

grazie per l'aiuto

34
bog

Guardando la tua risposta @Bog, penso che tu voglia;

$plugin_dir_path = dirname(__FILE__);
33
TheDeadMedic

Perché non utilizzare la funzione core di WordPress progettata appositamente per questo scopo?

<?php plugin_dir_path( __FILE__ ); ?>

Vedere la documentazione del codice qui .

Anche tu hai

<?php plugin_dir_url( __FILE__ ); ?>

se quello che stai cercando è un URI al contrario di un percorso del server.

Vedere la documentazione del codice qui .

IMO è sempre meglio usare il metodo di livello più alto disponibile nel core, e questo è quanto. Rende il tuo codice più a prova di futuro.

66
Tom Auger

In questo modo otterrai il risultato desiderato:

<?php plugin_dir_url(__FILE__); ?>

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

14
brenjt

Per ottenere la directory dei plugin è possibile utilizzare la funzione Wordpress plugin_basename($file). Quindi useresti è come segue per estrarre la cartella e il nome del file del plugin:

$plugin_directory = plugin_basename(__FILE__); 

È possibile combinare questo con l'URL o il percorso del server della directory dei plugin. Pertanto è possibile utilizzare le costanti WP_PLUGIN_URL per ottenere l'URL della directory del plugin o WP_PLUGIN_DIR per ottenere il percorso del server. Ma come Mark Jaquith menzionato in un commento qui sotto funziona solo se i plugin risiedono nella directory dei plugin di Wordpress.

Maggiori informazioni a riguardo nel codice Wordpress .

8
stefanglase
$full_path = WP_PLUGIN_URL . '/'. str_replace( basename( __FILE__ ), "", plugin_basename(__FILE__) );
  • WP_PLUGIN_URL: l'URL della directory dei plug-in
  • WP_PLUGIN_DIR: il percorso del server nella directory dei plug-in 

Questo collegamento può aiutare: http://codex.wordpress.org/Determining_Plugin_and_Content_Directories .

3
manish nautiyal

Prova questo:

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 (); restituirà l'URL del plug-in corrente.

2
Pennywise83

Quando ho bisogno di ottenere la directory, non solo per i plugin (plugin_dir_path), ma anche più generica, puoi usare __DIR__, ti darà il percorso della directory del file in cui è chiamato. Ora puoi usare da functions.php o un altro file!

Descrizione:

La directory del file. Se utilizzato all'interno di un include, la directory di il file incluso viene restituito. Questo è equivalente a dirname (__FILE__). Questo nome di directory non ha una barra finale a meno che non sia la directory radice.  1

Poiché WP 2.6.0 puoi usare plugins_url() metodo.

1

Se si desidera ottenere il percorso della directory corrente all'interno di un file per il quale è possibile le costanti magiche __FILE__ e __DIR__ con funzione plugin_dir_path() come:

$dir_path = plugin_dir_path( __FILE__ );

Percorso directory corrente:  

/home/user/var/www/wordpress_site/wp-content/plugins/custom-plugin/

__FILE__ magic constant restituisce il percorso della directory corrente.

Se vuoi salire di un livello dalla directory corrente. Dovresti usare la costante magica __DIR__ come:

Percorso attuale:  

/home/user/var/www/wordpress_site/wp-content/plugins/custom-plugin/

$dir = plugin_dir_path( __DIR__ );

Percorso su un livello:  

 /home/user/var/www/wordpress_site/wp-content/plugins/

__DIR__ La costante magica restituisce un livello superiore al percorso della directory.

0
Gufran Hasan