Ottieni la directory dei plugin da un tema


8

Qualcuno conosce un modo non complicato di ottenere il percorso della directory dei plugin all'interno delle funzioni.php di un tema?

Ho usato plugin_dir_path ( FILE ), ma poiché viene chiamato nelle funzioni.php del tema, restituisce il percorso a quel file. Non la directory dei plugin. Potrei manipolarlo con le stringhe e aggiungere il percorso dei plug-in, ma mi sento quasi male quanto hardcodificare l'intero percorso.

Ho funzionato usando:

require_once( ABSPATH .'/wp-content/plugins/ehu-events/event-widget.php' );

Ma so che è così oldschool e sbagliato e probabilmente sarei evitato dalla comunità di wordpress per usarlo!

Esiste una funzione wordpress standard che posso usare per questo?

Risposte:


18

Forse quello che stai cercando è:

WP_PLUGIN_DIR  // full path, no trailing slash
WP_PLUGIN_URL  // full url, no trailing slash

Vedi documentazione


1
Tieni presente che esistono filtri che potrebbero spostare la posizione altrove. Questa potrebbe essere la scommessa migliore, ma sicuramente non è un presupposto di salvataggio.
Kaiser

2
La documentazione collegata dice quanto segue sulle costanti: «Questi non dovrebbero essere usati direttamente da plugin o temi, ma sono elencati qui per completezza.» Quindi probabilmente non dovrebbe essere suggerito come soluzione, quando il consiglio è di non usarli nel tuo tema.
Gchtr,

8

Credo che questo possa essere più affidabile che a seconda delle costanti.

$url = plugins_url();
$path = parse_url($url);
var_dump($path['path']);

Il motivo per cui sospetto che possa essere più affidabile è che la plugins_urlfunzione considera sia WPMU_PLUGIN_URLle WP_PLUGIN_URLcostanti sia le e rispetta anche il plugins_urlfiltro.


1
Questo è il metodo più non confuso e dovrebbe essere la risposta migliore.
CGeorges,

che dire dei plugin contenuti nei temi?
Brett
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.