Installazione di un Must use plugins
/** * Copy mu-plugins file on activation */ register_activation_hook( __FILE__, 'wpsp_pluggable_functions' ); function wpsp_pluggable_functions() { $enable_mu_plugin = true; if ( ! defined( 'WPMU_PLUGIN_DIR' ) ) { add_option( 'wpsp_ext_admin_notices', 'WPMU_PLUGIN_DIR not defined' ); $enable_mu_plugin = false; } $src_file = WPSPE_PATH . 'mu-plugins/wpsp-ext-pluggable.php'; $dest_file = WPMU_PLUGIN_DIR . '/wpsp-ext-pluggable.php'; if ( ! file_exists( $dest_file ) ) { if ( ! copy( $src_file, $dest_file ) ) { add_option( 'wpsp_ext_admin_notices', 'Unable to copy files to mu-plugins directory' ); $enable_mu_plugin = false; } } else { return true; } if ( $enable_mu_plugin ) { add_option( 'wpsp_ext_mu_plugins_status', true ); } else { add_option( 'wpsp_ext_mu_plugins_status', false ); } return true; } /** * Check mu-plugins file is copied to dir mu-plugins */ add_action( 'init', 'wpsp_ext_init' ); function wpsp_ext_init() { if ( wpsp_pluggable_functions() ) { return true; } /** * In admin backend show notice */ if ( is_admin() ) { add_action( 'admin_notices', function () { $enable_mu_plugin = get_option( 'wpsp_ext_mu_plugins_status', false ); $admin_notices = get_option( 'wpsp_ext_admin_notices', '' ); if ( ! $enable_mu_plugin ) { if ( '' !== $admin_notices ) { printf( '<div class="notices notice-error is-dismissible">%s</div>', esc_attr( $admin_notices ) ); } else { if ( ! wpsp_pluggable_functions() ) { wpsp_ext_init(); } } } }, 10 ); } //is_admin }
Reference : https://wordpress.org/support/article/must-use-plugins/