web-dev-qa-db-fra.com

Obtenir l'ID utilisateur qui possède un ID de blog donné sur plusieurs sites

Je travaille sur la création d'une fonction qui prendra un $blog_id et renverra le $user_id correspondant de l'utilisateur qui possède/a créé le blog dans un réseau multi-sites.

public function SelectOwnerUserIdFromBlogId( $blog_id ) { ... }

J'ai examiné la base de données et la chose la plus proche que je puisse trouver est de regarder la table wp_usermeta et de filtrer les capacités, mais cela semble trop compliqué. Une meilleure idée?

SELECT user_id as UserId,
    IF(SUBSTRING_INDEX(SUBSTRING_INDEX(meta_key, '_', 2), '_', -1) = 'capabilities', 1, SUBSTRING_INDEX(SUBSTRING_INDEX(meta_key, '_', 2), '_', -1)) as BlogId
FROM wp_usermeta
WHERE meta_key like '%_capabilities'
    AND meta_value like '%administrator%'

Query results.

1
Adam

Je sais que c'est vieux, mais c'est la meilleure façon. Pourrait aider les gens qui viennent ici dans le futur.

$get_users = get_users( array( 'blog_id' => get_current_blog_id() ) ); $user_id = $get_users[0]->ID;

1
CHEWX