Take the 2-minute tour ×
WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. It's 100% free, no registration required.

Does anyone know a non-hacky way of getting the plugin directory path from within a theme's functions.php?

I've used plugin_dir_path(FILE), but because its called in the theme's functions.php it returns the path to that file. Not the plugins directory. I could string manipulate it and add the plugins path, but that feels nearly as bad as hardcoding the whole path.

I have got it working using:

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

But I know that's so oldschool and wrong and I'd probably be shunned from the wordpress community for using it!

Is there a standard wordpress function I can use for this?

share|improve this question
add comment

2 Answers 2

up vote 2 down vote accepted

Maybe what you're looking for is :

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

See documentation

share|improve this answer
    
legend thankyou –  danbrown Oct 9 '13 at 9:39
    
Keep in mind that there're filters that might move the location somewhere else. This might be best bet, but it's surely not a save assumption. –  kaiser Oct 9 '13 at 11:15
add comment

I believe this may be more reliable than depending upon the constants.

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

The reason I suspect it may be more reliable is that the plugins_url function considers both the WPMU_PLUGIN_URL and the WP_PLUGIN_URL constants and will also respect the plugins_url filter.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.