wpdb::has_cap( string $db_cap )
Determine if a database supports a particular feature.
Description
See also
Parameters
- $db_cap
-
(Required) The feature to check for. Accepts 'collation', 'group_concat', 'subqueries', 'set_charset', 'utf8mb4', or 'utf8mb4_520'.
Return
(int|false) Whether the database feature is supported, false otherwise.
Source
File: wp-includes/wp-db.php
public function has_cap( $db_cap ) {
$version = $this->db_version();
switch ( strtolower( $db_cap ) ) {
case 'collation' : // @since WP-2.5.0
case 'group_concat' : // @since WP-2.7.0
case 'subqueries' : // @since WP-2.7.0
return version_compare( $version, '4.1', '>=' );
case 'set_charset' :
return version_compare( $version, '5.0.7', '>=' );
case 'utf8mb4' : // @since WP-4.1.0
if ( version_compare( $version, '5.5.3', '<' ) ) {
return false;
}
if ( $this->use_mysqli ) {
$client_version = mysqli_get_client_info();
} else {
$client_version = mysql_get_client_info();
}
/*
* libmysql has supported utf8mb4 since 5.5.3, same as the MySQL server.
* mysqlnd has supported utf8mb4 since 5.0.9.
*/
if ( false !== strpos( $client_version, 'mysqlnd' ) ) {
$client_version = preg_replace( '/^\D+([\d.]+).*/', '$1', $client_version );
return version_compare( $client_version, '5.0.9', '>=' );
} else {
return version_compare( $client_version, '5.5.3', '>=' );
}
case 'utf8mb4_520' : // @since WP-4.6.0
return version_compare( $version, '5.6', '>=' );
}
return false;
}
Changelog
Version | Description |
---|---|
WP-4.6.0 | Added support for the 'utf8mb4_520' feature. |
WP-4.1.0 | Added support for the 'utf8mb4' feature. |
WP-2.7.0 | Introduced. |