The add_option WordPress PHP action fires before an option is added to the database.
Usage
add_action('add_option', 'my_custom_function', 10, 2); function my_custom_function($option, $value) { // your custom code here return $option; }
Parameters
$option
(string) – Name of the option to add.$value
(mixed) – Value of the option.
More information
See WordPress Developer Resources: add_option
Examples
Log option addition
Log option additions to a custom log file.
add_action('add_option', 'log_option_addition', 10, 2); function log_option_addition($option, $value) { error_log("Adding option '{$option}' with value '{$value}'"); }
Validate option values
Prevent adding options with invalid values.
add_action('add_option', 'validate_option_values', 10, 2); function validate_option_values($option, $value) { if ($option === 'my_custom_option' && !is_numeric($value)) { wp_die('Invalid value for my_custom_option'); } }
Send notification when option is added
Send an email notification when a specific option is added.
add_action('add_option', 'send_notification_on_option_add', 10, 2); function send_notification_on_option_add($option, $value) { if ($option === 'important_option') { wp_mail('[email protected]', 'Important option added', "Option '{$option}' added with value '{$value}'"); } }
Set a default value for a new option
Automatically set a default value for a specific option when it’s added.
add_action('add_option', 'set_default_value_for_new_option', 10, 2); function set_default_value_for_new_option($option, $value) { if ($option === 'custom_option' && empty($value)) { update_option($option, 'default_value'); } }
Update related options
Update another option when a specific option is added.
add_action('add_option', 'update_related_options', 10, 2); function update_related_options($option, $value) { if ($option === 'main_option') { update_option('related_option', $value); } }