Wordpress - Get a path to a different plugin

My best guess would be:

if ( ! is_file( $dir = WPMU_PLUGIN_DIR . '/pluginb/pluginb.php' ) ) {
    if ( ! is_file( $dir = WP_PLUGIN_DIR . '/pluginb/pluginb.php' ) )
        $dir = null;
}

return $dir;

However, the danger here is still the assumption of the plugin's "basename" - a well written plugin will still function even when its directory and/or main file has been renamed (for whatever reason).

Which goes back to my original comment - depending on which third-party plugin this is referring to, many authors define their own methods/constants to hold the plugin path - it would make sense to check for their existence & use these instead (if available).


So one method is to call plugin_dir_path() within the current plug-in and replace your own plugin directory name with that of the slug of the plug-in you're after (pluginb/pluginb.php):

So within our plug-in plugina/plugina.php,

$plugin_b = str_replace('plugina/','pluginb/pluginb.php',plugin_dir_path(__FILE__));
echo $plugin_b; //Prints path/to/pluginb/pluginb.php';