web-dev-qa-db-fra.com

Obtenir le répertoire du plugin à partir d'un thème

Est-ce que quelqu'un connaît un moyen non astucieux d'obtenir le chemin du répertoire du plugin à partir du fichier functions.php d'un thème?

J'ai utilisé plugin_dir_path (FICHIER), mais comme il est appelé dans le fichier functions.php du thème, il renvoie le chemin d'accès à ce fichier. Pas le répertoire des plugins. Je pourrais le manipuler et ajouter le chemin des plugins, mais cela semble presque aussi grave que de coder en dur le chemin entier.

Je l'ai obtenu en utilisant:

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

Mais je sais que c'est tellement oldschool et faux et je serais probablement fui de la communauté wordpress pour l'utiliser!

Existe-t-il une fonction wordpress standard que je peux utiliser pour cela?

8
danbrown

Peut-être que ce que vous cherchez, c'est:

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

Voir documentation

17
JMau

Je crois que cela peut être plus fiable que de dépendre des constantes.

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

La raison pour laquelle je pense qu’elle pourrait être plus fiable est que la fonction plugins_url prend en compte les constantes WPMU_PLUGIN_URL et WP_PLUGIN_URL et respecte également le filtre plugins_url .

7
s_ha_dum