Is there a canonical way for a plugin to install a mu-plugin or drop-in?

There are no canonical methods for doing this, and in many cases it’s undesirable. E.g. more than one plugin may want to override a drop in. You might also be reaching into and modifying files that are managed by the hosting company, which might either break things or trigger problems. Instead, you should disable any … Read more

is_active_sidebar() problem

In this case I would simply check if the slider plugin is activated – so your conditional statement would look like this: <?php if ( is_active_sidebar( ‘sidebar-hero’ ) && is_plugin_active( ‘slider-plugin-dir/slider-plugin-base-file.php’ ) ) : ?> wp_get_sidebars_widgets in your case works as expected – it checks for the widgets in wp_options table and keeps the widget … Read more

How to deactivate my plugin upon deactivation of NextGen

You’ve got to actually check is_plugin_active. I would use something more like this, shamelessly stolen and modified from here: register_activation_hook( __FILE__, ‘dependentplugin_activate’ ); function dependentplugin_activate() { require_once( ABSPATH . ‘/wp-admin/includes/plugin.php’ ); if ( is_plugin_active( ‘nextgen-gallery/nggallery.php’ ) ) { require_once ( WP_PLUGIN_DIR . ‘/nextgen-gallery/nggallery.php’ ); } else { // deactivate dependent plugin deactivate_plugins( __FILE__); // throw … Read more