2017-10-30 12 views
0

ワードプレスでマルチサイトのすべての管理者を取得する方法。 私はこのためのカスタムプラグインを作成しています 私はメインサイトのマルチサイトのすべての管理者を取得するためのカスタムコードが残っています。例: 私の主要なウェブサイトは:wyz.comで、私の2番目のサイトは:xyz.com/demoです。 メインのウェブサイトの管理者は「abc」、「xyz.com/demo」のサイトの管理者は「abcde」です。 私のメインのウェブサイトで「abcde」管理者を取得する方法。ワードプレスでマルチサイトのすべての管理者を取得する方法

私のライブサイトには現在6kの管理者がいます。だから私はこれを得るのが難しい。私はマルチサイトのワードプレスでは新しいです。

答えて

0

サブサイトのいずれかからデータを取得するには、まずswitch_to_blog()機能を使用してそのサイトに切り替える必要があります。次に、あなたが起動したクエリが何であれ、そのサイトからのレコードのみを返します。サブサイトからデータを取得すると、それを現在のサイトに復元することを忘れないでください。あなたはrestore_current_blog()機能を使用してそれを復元することができます。

は、すべてのサイトのすべての管理者ユーザーを取得するには、以下のことを実行する必要があります。

1)は、すべてのサイトのblog_idを取得するにはwp_get_sites()機能を使用してください。

2)blog_idを取得したら、次のループを実行して各サイトの管理者ユーザーを取得する必要があります。

あなたはwp_get_sites()関数からblog_idsの配列として$blogを取得したと

foreach ($blogs as $blog) 
    { 
     switch_to_blog($blog->blog_id); // blog id which u got from wp_get_sites() function 
     $users_query = new WP_User_Query(array( 
        'role' => 'administrator', 
        'orderby' => 'display_name' 
        )); // query to get admin users 
     $results = $users_query->get_results(); 
     $site_admins .= 'Blog ID: ' . $blog->blog_id . '<pre>' . print_r($results,true) . '</pre>'; 
    } 
    restore_current_blog(); 
関連する問題