Uses
Uses | Description |
---|---|
wp-includes/load.php: is_multisite() | If Multisite is enabled. |
wp-includes/wp-db.php: wpdb::get_blog_prefix() | Gets blog prefix. |
Returns an array of WordPress tables.
Also allows for the CUSTOM_USER_TABLE and CUSTOM_USER_META_TABLE to override the WordPress users and usermeta tables that would otherwise be determined by the prefix.
The $scope argument can take one of the following:
‘all’ – returns ‘all’ and ‘global’ tables. No old tables are returned. ‘blog’ – returns the blog-level tables for the queried blog. ‘global’ – returns the global tables for the installation, returning multisite tables only on multisite. ‘ms_global’ – returns the multisite global tables, regardless if current installation is multisite. ‘old’ – returns tables which are deprecated.
(string) (Optional) Possible values include 'all', 'global', 'ms_global', 'blog', or 'old' tables.
Default value: 'all'
(bool) (Optional) Whether to include table prefixes. If blog prefix is requested, then the custom users and usermeta tables will be mapped.
Default value: true
(int) (Optional) The blog_id to prefix. Used only when prefix is requested. Defaults to wpdb::$blogid.
(array) Table names. When a prefix is requested, the key is the unprefixed table name.
File: wp-includes/wp-db.php
public function tables( $scope = 'all', $prefix = true, $blog_id = 0 ) { switch ( $scope ) { case 'all': $tables = array_merge( $this->global_tables, $this->tables ); if ( is_multisite() ) { $tables = array_merge( $tables, $this->ms_global_tables ); } break; case 'blog': $tables = $this->tables; break; case 'global': $tables = $this->global_tables; if ( is_multisite() ) { $tables = array_merge( $tables, $this->ms_global_tables ); } break; case 'ms_global': $tables = $this->ms_global_tables; break; case 'old': $tables = $this->old_tables; break; default: return array(); } if ( $prefix ) { if ( ! $blog_id ) { $blog_id = $this->blogid; } $blog_prefix = $this->get_blog_prefix( $blog_id ); $base_prefix = $this->base_prefix; $global_tables = array_merge( $this->global_tables, $this->ms_global_tables ); foreach ( $tables as $k => $table ) { if ( in_array( $table, $global_tables, true ) ) { $tables[ $table ] = $base_prefix . $table; } else { $tables[ $table ] = $blog_prefix . $table; } unset( $tables[ $k ] ); } if ( isset( $tables['users'] ) && defined( 'CUSTOM_USER_TABLE' ) ) { $tables['users'] = CUSTOM_USER_TABLE; } if ( isset( $tables['usermeta'] ) && defined( 'CUSTOM_USER_META_TABLE' ) ) { $tables['usermeta'] = CUSTOM_USER_META_TABLE; } } return $tables; }
Version | Description |
---|---|
3.0.0 | Introduced. |
© 2003–2019 WordPress Foundation
Licensed under the GNU GPLv2+ License.
https://developer.wordpress.org/reference/classes/wpdb/tables