apply_filters( "sanitize_option_{$option}", string $value, string $option, string $original_value )

Filters an option value following sanitization.

Parameters Parameters


(string) The sanitized option value.


(string) The option name.


(string) The original value passed to the function.

Top ↑

More Information More Information

There is one filter per option name; the $option in the filter name stands for the name (e.g. ‘sanitize_option_blogname‘, ‘sanitize_option_siteurl‘). You can use this filter to define a sanitizer for your own options. See the notes for sanitize_option() for a list of existing options.

Filter existing options

add_filter('sanitize_option_admin_email', 'sanitize_builtin_option', 10, 2);
add_filter('sanitize_option_new_admin_email', 'sanitize_builtin_option', 10, 2);

function sanitize_builtin_option($value, $option) {

Filter your own options

add_filter('sanitize_option_feed_url', 'sanitize_url', 10, 2);
add_filter('sanitize_option_wpi_endpoint', 'sanitize_url', 10, 2);
add_filter('sanitize_option_contact_email', 'sanitize_email');

function sanitize_url($value, $option) {

function sanitize_email($value, $option) {

Top ↑

Source Source

File: wp-includes/formatting.php

View on Trac

Top ↑

Changelog Changelog

Version Description
4.3.0 Added the $original_value parameter.
2.3.0 Introduced.

Top ↑

User Contributed Notes User Contributed Notes

  1. Skip to note 1 content
    Contributed by stevenlinx

    Example Migrated from Codex:

    add_option('blocksize', 200); # 256 gets stored for blocksize
    add_filter('sanitize_option_blocksize', 'sanitize_blocksize');
    if (! function_exists('lg')) {
        function lg($x) {
            return log($x) / log(2);
    function sanitize_blocksize($value) {
        return pow(2, ceil(lg($value)));

You must log in before being able to contribute a note or feedback.