The option_{$option} WordPress PHP filter allows you to modify the value of an existing option before it’s returned.
Usage
add_filter('option_example_option', 'custom_function_name', 10, 2); function custom_function_name($value, $option) { // your custom code here return $value; }
Parameters
$value
(mixed): Value of the option. If stored serialized, it will be unserialized prior to being returned.$option
(string): Option name.
More information
See WordPress Developer Resources: option_{$option}
Examples
Change the site title
Modify the site title before it’s displayed on the frontend.
add_filter('option_blogname', 'change_site_title', 10, 2); function change_site_title($value, $option) { $value = 'New Site Title'; return $value; }
Append text to the site description
Add custom text to the site description (tagline).
add_filter('option_blogdescription', 'append_text_to_description', 10, 2); function append_text_to_description($value, $option) { $value .= ' - Custom Text'; return $value; }
Modify the default comment status
Change the default comment status for new posts to ‘closed’.
add_filter('option_default_comment_status', 'modify_default_comment_status', 10, 2); function modify_default_comment_status($value, $option) { $value = 'closed'; return $value; }
Change the default category
Set the default category for new posts to a specific category ID.
add_filter('option_default_category', 'change_default_category', 10, 2); function change_default_category($value, $option) { $value = 5; // Replace with your desired category ID return $value; }
Modify the posts per page
Set the number of posts displayed per page to a specific value.
add_filter('option_posts_per_page', 'change_posts_per_page', 10, 2); function change_posts_per_page($value, $option) { $value = 15; return $value; }