Does settings API create settings on run time?

I’m tweaking a plugin and I’d like to have an option value different for each backoffice user.

Currently the options are defined using the add_settings_field method that is performed in the admin_init hookup.

Read More

My question is, could I register a new set of settings by prefixing my settings using the current user ID?

Such a way, if valid, could help to solve other problems, such:

Related posts

1 comment

  1. Yes, you can and it’s easier using a Class. In the admin_init hook (where the Settings API is being registered and defined) set a class property based on the user ID:

    $this->prefix = 'uid_' . get_current_user_id() . '_';
    

    Then, in the rest of the code, refer to your option name as $this->prefix . 'option_name'.

    The result in the table wp_options will be uid_1_option_name, uid_2_option_name, etc. And each user will have its own settings.

    A Gist with a working example.

Comments are closed.