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
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:
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_2_option_name, etc. And each user will have its own settings.
A Gist with a working example.