The register_setting WordPress PHP action is used to register a setting with a specific option group and name, along with additional arguments.
Usage
add_action('register_setting', 'your_custom_function', 10, 3); function your_custom_function($option_group, $option_name, $args) { // Your custom code here return $option_group; }
Parameters
$option_group
(string): The setting group.$option_name
(string): The setting name.$args
(array): An array of setting registration arguments.
More information
See WordPress Developer Resources: register_setting
Examples
Log registered settings
Log the registered settings to a debug log.
add_action('register_setting', 'log_registered_settings', 10, 3); function log_registered_settings($option_group, $option_name, $args) { error_log("Setting registered: Group: {$option_group}, Name: {$option_name}, Args: " . print_r($args, true)); return $option_group; }
Modify registered setting arguments
Change the sanitize_callback
for registered settings.
add_action('register_setting', 'modify_registered_setting_arguments', 10, 3); function modify_registered_setting_arguments($option_group, $option_name, $args) { if ('your_setting_group' === $option_group) { $args['sanitize_callback'] = 'your_custom_sanitize_callback'; } return $option_group; }
Add a custom capability for a registered setting
Add a custom capability for a specific setting.
add_action('register_setting', 'add_custom_capability_for_setting', 10, 3); function add_custom_capability_for_setting($option_group, $option_name, $args) { if ('your_setting_name' === $option_name) { $args['capability'] = 'your_custom_capability'; } return $option_group; }
Register additional settings based on registered settings
Register an additional setting based on the existence of a specific setting.
add_action('register_setting', 'register_additional_settings', 10, 3); function register_additional_settings($option_group, $option_name, $args) { if ('your_setting_name' === $option_name) { register_setting($option_group, 'your_additional_setting', $args); } return $option_group; }
Modify setting value upon registration
Modify the value of a setting when it is registered.
add_action('register_setting', 'modify_setting_value_on_registration', 10, 3); function modify_setting_value_on_registration($option_group, $option_name, $args) { if ('your_setting_name' === $option_name) { $current_value = get_option($option_name); $modified_value = strtoupper($current_value); update_option($option_name, $modified_value); } return $option_group; }