从数据库中为多站点创建多个子域

时间:2012-06-09 作者:hendra

我想为用户创建多个子域
我知道如何使用创建网络手动创建多个子域。

但是,我的用户太多了,我无法逐个手动创建这些子域。

我在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文件中的数据自动创建多个子域?

1 个回复
最合适的回答,由SO网友:brasofilo 整理而成

不仅仅是一个答案,一项关于这件事的研究

Excel问题我们需要一个数组,Excel可以提供CSV解决方案:How to extract data from csv file in php? <此处未实施相关问题;所有人的共同点是:no definitive procedure has been recorded in this Stack


测试代码基于OneTrickPony第一个问题
  • 只能运行once。我不知道有什么更好的方法not sure如果admin_init 是运行此功能的最佳位置does not runs fast (本样本中有3个站点)awful CSS bug 运行代码后在管理中。禁用挂钩并重新加载页面后,一切正常,所有站点都已创建
  • 。(!?)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
            );
        }
    
    }
    

    结束

    相关推荐

    在MultiSite中的循环外部获取_Author_meta的$user_id

    因此,我目前正在运行一个多站点安装,超级管理员将创建所有新站点。我们使用的其中一个模板有一个贷款官员的博客页面。我正在扩展用户配置文件,以便新用户可以输入需要在其页面上显示的关键数据。除了创建站点时自动添加的超级管理员之外,每个站点只有一个用户。我发现,如果要使用该函数,需要指定用户IDthe_author_meta(); 循环外部。这是我的问题。我无法在模板中输入ID,因为每个新的贷款官员都将使用相同的主题模板。那么,如何使这些字段成为动态的呢?下面是配置文件部分的图像,以便LO在视觉上有所帮