如何在WP MU新用户安装中设置现有插件的默认选项

时间:2014-02-17 作者:1.21 gigawatts

当一个新用户注册WP-MU-install时,我想为我在超级管理员帐户中安装的插件设置默认选项。我已经阅读了这么多帖子,但还没有找到如何做到这一点。

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

在api的顶部。php页面位于class JSON_API 行添加以下代码:

add_action( \'wpmu_new_blog\', \'wpse_set_defaults\' );

function wpse_set_defaults( $blog_id ) {
    global $json_api;

    switch_to_blog( $blog_id );

    // set the default controllers here
    $required_controllers = explode(",", "categories,posts,user,attachments");

    $id = \'json_api_controllers\';

    $available_controllers = $json_api->get_controllers();
    $active_controllers = explode(\',\', get_option($id, \'core\'));
    $action = "activate";

    foreach ($required_controllers as $controller) {
        if (in_array($controller, $available_controllers)) {
            if ($action == \'activate\' && !in_array($controller, $active_controllers)) {
                $active_controllers[] = $controller;
            } else if ($action == \'deactivate\') {
                $index = array_search($controller, $active_controllers);
                if ($index !== false) {
                    unset($active_controllers[$index]);
                }
            }
        }
    }

    $value = implode(\',\', $active_controllers);

    // get option and set it
    $option_exists = (get_option($id, null) !== null);

    if ($option_exists) {
        update_option($id, $value);
    } else {
        add_option($id, $value);
    }

    restore_current_blog();
}
您也可以在此处设置其他选项。

结束

相关推荐

使用主题文件夹代替plugins_url

我想这很简单,但我无法解决。我正在尝试通过我的主题向WordPress仪表板添加菜单页。我有以下。。。add_menu_page( \'Test\', \'Test\', \'manage_options\', \'myplugin/myplugin-admin.php\', \'\', plugins_url( \'myplugin/image/icon.png\' ), 6 &