wpdb::tables( string $scope = 'all', bool $prefix = true, int $blog_id )
Returns an array of WordPress tables.
Description Description
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 if running multisite. ‘ms_global’ – returns the multisite global tables, regardless if current installation is multisite. ‘old’ – returns tables which are deprecated.
Parameters Parameters
- $scope
-
(string) (Optional) Can be all, global, ms_global, blog, or old tables. Defaults to all.
Default value: 'all'
- $prefix
-
(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
- $blog_id
-
(int) (Optional) The blog_id to prefix. Defaults to wpdb::$blogid. Used only when prefix is requested.
Return Return
(array) Table names. When a prefix is requested, the key is the unprefixed table name.
Source Source
File: wp-includes/wp-db.php
1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 | 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 ) ) { $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 ; } |
Expand full source code Collapse full source code View on Trac
Changelog Changelog
Version | Description |
---|---|
3.0.0 | Introduced. |