web-dev-qa-db-ja.com

マルチサイトで特定のブログIDを所有するユーザーIDを取得する

私は$blog_idを受け取り、マルチサイトネットワークでブログを所有/作成したユーザーの対応する$user_idを返すような関数の作成に取り組んでいます。

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

私はデータベースを検討していて、私が見つけることができる最も近いものはwp_usermetaテーブルを見て、機能をフィルタリングすることですが、これはあまりにも厄介です。もっと良いアイデアはありますか?

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

私はこれが古いことを知っていますが、これが最善の方法です。将来ここに来る人々を助けるかもしれません。

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

1
CHEWX