The pre_site_option_{$option} WordPress PHP filter allows you to modify the value of an existing network option before it is retrieved. The dynamic part of the filter name, $option
, refers to the option name.
Usage
add_filter('pre_site_option_{$option}', 'your_custom_function', 10, 4); function your_custom_function($pre_option, $option, $network_id, $default_value) { // your custom code here return $pre_option; }
Parameters
$pre_option
(mixed): The value to return instead of the option value. Default is false (to skip past the short-circuit).$option
(string): Option name.$network_id
(int): ID of the network.$default_value
(mixed): The fallback value to return if the option does not exist. Default is false.
More information
See WordPress Developer Resources: pre_site_option_{$option}
Examples
Modify site name
Change the site name before it’s retrieved.
add_filter('pre_site_option_site_name', 'change_site_name', 10, 4); function change_site_name($pre_option, $option, $network_id, $default_value) { return 'My New Site Name'; }
Modify admin email
Add a prefix to the admin email.
add_filter('pre_site_option_admin_email', 'add_prefix_admin_email', 10, 4); function add_prefix_admin_email($pre_option, $option, $network_id, $default_value) { return 'prefix-' . $pre_option; }
Set default theme
Set a default theme for all sites in the network.
add_filter('pre_site_option_default_theme', 'set_default_theme', 10, 4); function set_default_theme($pre_option, $option, $network_id, $default_value) { return 'twentytwenty'; }
Modify site language
Change the site language to French.
add_filter('pre_site_option_WPLANG', 'change_site_language', 10, 4); function change_site_language($pre_option, $option, $network_id, $default_value) { return 'fr_FR'; }
Update file upload space quota
Set a custom file upload space quota for all sites in the network.
add_filter('pre_site_option_upload_space_quota', 'custom_upload_space_quota', 10, 4); function custom_upload_space_quota($pre_option, $option, $network_id, $default_value) { return 1000; // Set upload space quota to 1000MB }