register(); // Also covers sites activated before uninstall.php was replaced. add_action( 'admin_init', [Uninstall::class, 'register'] ); } /** * Filters the module classes FeatherDash boots. Remove one to switch a * feature off in code, or add your own: a class with a public * `register(Settings $settings)` method that adds hooks. * * @param array $modules */ $modules = self::modules(); $modules = (array) apply_filters( 'featherdash/modules', $modules, $settings ); foreach ( $modules as $class ) { if ( is_string( $class ) && class_exists( $class ) && method_exists( $class, 'register' ) ) { ( new $class() )->register( $settings ); } } /** * Fires after every module registered its hooks. * * @param Settings $settings */ do_action( 'featherdash/loaded', $settings ); } /** * @return array */ private static function modules() : array { return [ Theme::class, Navigation::class, Bar::class, Dashboard::class, Footer::class, Tables::class, Welcome::class, Cleanup::class, Comments::class, Posts::class, LastLogin::class, Head::class, JQuery::class, Tracking::class, Favicon::class, Security::class, Login::class, Maintenance::class ]; } }