'DB_ENGINE', 'value' => ( defined( 'DB_ENGINE' ) ? DB_ENGINE : __( 'Undefined', 'sqlite-database-integration' ) ), 'debug' => ( defined( 'DB_ENGINE' ) ? DB_ENGINE : 'undefined' ), ); $info['wp-database']['fields']['db_engine'] = array( 'label' => __( 'Database type', 'sqlite-database-integration' ), 'value' => 'sqlite' === $db_engine ? 'SQLite' : 'MySQL/MariaDB', ); if ( 'sqlite' === $db_engine ) { $info['wp-database']['fields']['database_version'] = array( 'label' => __( 'SQLite version', 'sqlite-database-integration' ), 'value' => class_exists( 'SQLite3' ) ? SQLite3::version()['versionString'] : null, ); $info['wp-database']['fields']['database_file'] = array( 'label' => __( 'Database file', 'sqlite-database-integration' ), 'value' => FQDB, 'private' => true, ); $info['wp-database']['fields']['database_size'] = array( 'label' => __( 'Database size', 'sqlite-database-integration' ), 'value' => size_format( filesize( FQDB ) ), ); unset( $info['wp-database']['fields']['extension'] ); unset( $info['wp-database']['fields']['server_version'] ); unset( $info['wp-database']['fields']['client_version'] ); unset( $info['wp-database']['fields']['database_host'] ); unset( $info['wp-database']['fields']['database_user'] ); unset( $info['wp-database']['fields']['database_name'] ); unset( $info['wp-database']['fields']['database_charset'] ); unset( $info['wp-database']['fields']['database_collate'] ); unset( $info['wp-database']['fields']['max_allowed_packet'] ); unset( $info['wp-database']['fields']['max_connections'] ); } return $info; } add_filter( 'debug_information', 'sqlite_plugin_filter_debug_data' ); // Filter debug data in site-health screen. /** * Filter site_status tests in site-health screen. * * When the plugin gets merged in wp-core, these should be merged in src/wp-admin/includes/class-wp-site-health.php * * @param array $tests The tests. * @return array */ function sqlite_plugin_filter_site_status_tests( $tests ) { $db_engine = defined( 'DB_ENGINE' ) && 'sqlite' === DB_ENGINE ? 'sqlite' : 'mysql'; if ( 'sqlite' === $db_engine ) { unset( $tests['direct']['utf8mb4_support'] ); unset( $tests['direct']['sql_server'] ); unset( $tests['direct']['persistent_object_cache'] ); // Throws an error because DB_NAME is not defined. } return $tests; } add_filter( 'site_status_tests', 'sqlite_plugin_filter_site_status_tests' );