Using WordPress ‘pre_add_site_option_{$option}’ PHP filter

The pre_add_site_option_{$option} WordPress PHP filter allows you to modify the value of a specific network option before it is added. The dynamic part of the hook name, $option, refers to the option name.

Usage

add_filter('pre_add_site_option_example_option', 'your_custom_function', 10, 3);

function your_custom_function($value, $option, $network_id) {
  // your custom code here
  return $value;
}

Parameters

  • $value (mixed): Value of the network option.
  • $option (string): Option name.
  • $network_id (int): ID of the network.

More information

See WordPress Developer Resources: pre_add_site_option_{$option}

Examples

Add a prefix to the site option value

add_filter('pre_add_site_option_site_name', 'add_prefix_to_site_name', 10, 3);

function add_prefix_to_site_name($value, $option, $network_id) {
  $prefix = 'My Prefix - ';
  $value = $prefix . $value;
  return $value;
}

Limit the maximum value for an option

add_filter('pre_add_site_option_max_posts', 'limit_max_posts', 10, 3);

function limit_max_posts($value, $option, $network_id) {
  $max_value = 100;
  if ($value > $max_value) {
    $value = $max_value;
  }
  return $value;
}

Set a default value for an option if empty

add_filter('pre_add_site_option_footer_text', 'default_footer_text', 10, 3);

function default_footer_text($value, $option, $network_id) {
  if (empty($value)) {
    $value = 'Default footer text';
  }
  return $value;
}

Add the current date to an option value

add_filter('pre_add_site_option_last_updated', 'add_current_date', 10, 3);

function add_current_date($value, $option, $network_id) {
  $current_date = date('Y-m-d H:i:s');
  $value = $current_date;
  return $value;
}

Modify a numerical option value by a factor

add_filter('pre_add_site_option_max_items', 'modify_max_items', 10, 3);

function modify_max_items($value, $option, $network_id) {
  $factor = 2;
  $value = $value * $factor;
  return $value;
}