web-dev-qa-db-ja.com

データベースからマルチサイト用の複数のサブドメインを作成する

ユーザー用に複数のサブドメインを作成したいです。
作成ネットワークを使用して手動で複数のサブドメインを作成する方法を知っています。

しかし、私は非常に多くのユーザーがいます、私は手動で一つずつ手動でそれらのサブドメインを作成することはできません。

Excelファイルにユーザーリストがあります。

id || username || password || subdomain

 1 || alex     || ****     || alex.websitewordpress.com

 2 || brad     || ****     || brad.websitewordpress.com

 3 || carol    || ****     || carol.websitewordpress.com

 4 || donald   || ****     || donald .websitewordpress.com

Excelファイルのデータを使用して複数のサブドメインを自動的に作成する方法を教えてください。

5
hendra

答え以上のもの、問題に関する研究

Excelの問題


関連するQ&A

すべてに共通するのは、このスタックには決定的な手順が記録されていないことです


テストコード

  • OneTrickPonyの最初の質問に基づく。
  • 1回だけ実行する必要があります。私はもっ​​と良い方法を知りません。
  • admin_initがこれを実行するのに最適な場所である場合、私はわからない
  • 測定されていませんが、このコードは速く実行されません(このサンプルでは3つのサイト)。
  • コードを実行した後の管理者にひどいCSSのバグがあります。フックを無効にしてページをリロードすると、すべて問題なく、すべてのサイトが作成されました。

。 (!?) enter image description here

/* Enable the hook, refresh the dashboard, <WAIT>, disable again */
// add_action('admin_init','wpse_54647_testing_code');

function wpse_54647_testing_code()
{
    $site = get_current_site();

    $meta = array( 
            'blogdescription'       => 'blog description'
        ,   'users_can_register'    => 1 
    );

    $sites_array = array(

            array(
                    'title'   => 'site 1'
                ,   'domain'  => 'site1'
                ,   'user'    => 'site1'
                ,   'pass'    => 'pass1'
                ,   'email'   => '[email protected]'
            )

        ,   array(
                    'title'   => 'site 2'
                ,   'domain'  => 'site2'
                ,   'user'    => 'site2'
                ,   'pass'    => 'pass2'
                ,   'email'   => '[email protected]'
            )

        ,   array(
                    'title'   => 'site 3'
                ,   'domain'  => 'site3'
                ,   'user'    => 'site3'
                ,   'pass'    => 'pass3'
                ,   'email'   => '[email protected]'
            )
    );

    for( $i = 0; $i < count($sites_array); $i++ )
    {
        $user = wp_insert_user( array (
                                    'user_login' => $sites_array[$i]['user']
                                ,   'user_pass' => $sites_array[$i]['pass'] 
                                ,   'user_email' => $sites_array[$i]['email'] 
                                ) );

        $blog_id = wpmu_create_blog(
                $sites_array[$i]['domain'] . '.' . $site->domain
            ,   '/'
            ,   $site_titles[$i]['title']
            ,   $user
            ,   $meta
            ,   $site->id
        );
    }

}
2
brasofilo