Thanks for your help.
#1 and #2 are not available options.
#3 is my preferred option, but it didn’t work. This is the code I added to child functions.php
function remove_theme_recommendations() {
remove_action('admin_notices', 'propharm_enovathemes_register_required_plugins');
}
add_action('admin_init', 'remove_theme_recommendations');
#4 could be a good option, but I don’t think the parent function is plugable. See (below) parent theme function that generates the NAG. I would like to know if theme author has implemented this code properly? Can you tell why my function above didn’t work?
#5 is my last resort.
/* begin parent theme code */
/* TGM
---------------*/
add_action( 'tgmpa_register', 'propharm_enovathemes_register_required_plugins' );
function propharm_enovathemes_register_required_plugins() {
$plugins = array(
array(
'name' => esc_html__('Contact Form 7', 'propharm'),
'slug' => 'contact-form-7',
),
array(
'name' => esc_html__('Safe SVG', 'propharm'),
'slug' => 'safe-svg',
),
array(
'name' => esc_html__('One Click Demo Import', 'propharm'),
'slug' => 'one-click-demo-import',
),
array(
'name' => esc_html__('Envato market master', 'propharm'),
'slug' => 'envato-market',
'source' => get_template_directory() . '/plugins/envato-market.zip',
),
array(
'name' => esc_html__('WPBakery Visual Composer', 'propharm'),
'slug' => 'js_composer',
'source' => get_template_directory() . '/plugins/js_composer.zip',
'required' => true,
'version' => '7.0'
),
array(
'name' => esc_html__('Revolution slider', 'propharm'),
'slug' => 'revslider',
'source' => get_template_directory() . '/plugins/revslider.zip',
'version' => '6.6.16'
),
array(
'name' => esc_html__('Enovathemes add-ons', 'propharm'),
'slug' => 'enovathemes-addons',
'source' => get_template_directory() . '/plugins/enovathemes-addons.zip',
'required' => true,
'version' => '1.7'
),
array(
'name' => esc_html__('Regenerate Thumbnails', 'propharm'),
'slug' => 'regenerate-thumbnails',
'required' => true,
'dismissable' => true
),
array(
'name' => esc_html__('WooCommerce', 'propharm'),
'slug' => 'woocommerce',
'required' => true,
'dismissable' => true
),
);
if (class_exists('Woocommerce')) {
$plugins[] = array(
'name' => esc_html__('Variation Swatches for WooCommerce', 'propharm'),
'slug' => 'variation-swatches-for-woocommerce',
);
$plugins[] = array(
'name' => esc_html__('Currency Switcher for WooCommerce', 'propharm'),
'slug' => 'currency-switcher-woocommerce',
);
}
$config = array(
'id' => 'propharm',
'default_path' => '', // Default absolute path to pre-packaged plugins
'parent_slug' => 'themes.php', // Default parent menu slug
'capability' => 'edit_theme_options',
'menu' => 'install-required-plugins', // Menu slug
'has_notices' => true, // Show admin notices or not
'dismissable' => false,
'is_automatic' => false, // Automatically activate plugins after installation or not
'message' => '', // Message to output right before the plugins table
'strings' => array(
'page_title' => esc_html__( 'Install Required Plugins', 'propharm' ),
'menu_title' => esc_html__( 'Install Plugins', 'propharm' ),
'installing' => esc_html__( 'Installing Plugin: %s', 'propharm' ), // %1$s = plugin name
'oops' => esc_html__( 'Something went wrong with the plugin API.', 'propharm' ),
'notice_can_install_required' => _n_noop( 'This theme requires the following plugin: %1$s.', 'This theme requires the following plugins: %1$s.', 'propharm' ), // %1$s = plugin name(s)
'notice_can_install_recommended' => _n_noop( 'This theme recommends the following plugin: %1$s.', 'This theme recommends the following plugins: %1$s.', 'propharm' ), // %1$s = plugin name(s)
'notice_cannot_install' => _n_noop( 'Sorry, but you do not have the correct permissions to install the %s plugin. Contact the administrator of this site for help on getting the plugin installed.', 'Sorry, but you do not have the correct permissions to install the %s plugins. Contact the administrator of this site for help on getting the plugins installed.', 'propharm' ), // %1$s = plugin name(s)
'notice_can_activate_required' => _n_noop( 'The following required plugin is currently inactive: %1$s.', 'The following required plugins are currently inactive: %1$s.', 'propharm' ), // %1$s = plugin name(s)
'notice_can_activate_recommended' => _n_noop( 'The following recommended plugin is currently inactive: %1$s.', 'The following recommended plugins are currently inactive: %1$s.', 'propharm' ), // %1$s = plugin name(s)
'notice_cannot_activate' => _n_noop( 'Sorry, but you do not have the correct permissions to activate the %s plugin. Contact the administrator of this site for help on getting the plugin activated.', 'Sorry, but you do not have the correct permissions to activate the %s plugins. Contact the administrator of this site for help on getting the plugins activated.', 'propharm' ), // %1$s = plugin name(s)
'notice_ask_to_update' => _n_noop( 'The following plugin needs to be updated to its latest version to ensure maximum compatibility with this theme: %1$s.', 'The following plugins need to be updated to their latest version to ensure maximum compatibility with this theme: %1$s.', 'propharm' ), // %1$s = plugin name(s)
'notice_cannot_update' => _n_noop( 'Sorry, but you do not have the correct permissions to update the %s plugin. Contact the administrator of this site for help on getting the plugin updated.', 'Sorry, but you do not have the correct permissions to update the %s plugins. Contact the administrator of this site for help on getting the plugins updated.', 'propharm' ), // %1$s = plugin name(s)
'install_link' => _n_noop( 'Begin installing plugin', 'Begin installing plugins', 'propharm' ),
'activate_link' => _n_noop( 'Activate installed plugin', 'Activate installed plugins', 'propharm' ),
'return' => esc_html__( 'Return to Required Plugins Installer', 'propharm' ),
'plugin_activated' => esc_html__( 'Plugin activated successfully.', 'propharm' ),
'complete' => esc_html__( 'All plugins installed and activated successfully. %s', 'propharm' ), // %1$s = dashboard link
'nag_type' => 'updated' // Determines admin notice type - can only be 'updated' or 'error'
)
);
tgmpa( $plugins, $config );
}