Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- add_filter( 'query', 'mycustom_query_alter' );
- function mycustom_query_alter( $query ) {
- global $wpdb;
- // Try to go into HyperDB settings to find DB name of shared users DB
- // The dataset is named "users"
- if (!empty($wpdb->hyper_servers['users'])) {
- if (!empty($wpdb->hyper_servers['users']['read'][1][0]['name'])) {
- $users_db = $wpdb->hyper_servers['users']['read'][1][0]['name'];
- }
- else {
- // We didn't find a users table in HyperDB, so we'll default to a standard one
- $users_db = 'wp_users';
- }
- // If the query references both $wpdb->users and $wpdb->usermeta tables, prefix the users table with correct database name
- if (FALSE !== strpos($query, $wpdb->users) &&
- FALSE !== strpos($query, $wpdb->usermeta)) {
- $query = str_replace($wpdb->users, $users_db . '.' . $wpdb->users, $query);
- }
- }
- return $query;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement