set_theme_mod()WP 2.1.0

Update theme modification value for the current theme.

1 time — 0.000983 sec (slow) | 50000 times — 4.90 sec (fast)
Hooks from the function

Return

true|false. True if the value was updated, false otherwise.

Usage

set_theme_mod( $name, $value );
$name(string) (required)
Theme modification name.
$value(mixed) (required)
Theme modification value.

Examples

1

#1 Set the themes option

Install and get a special setup of the theme:

add_action( 'switch_theme', 'wp_kama_theme_mods' );

function wp_kama_theme_mods() {
	set_theme_mod( 'my_mod_one', 'new_mode_one_value' );
}

Then get this option where needed:

get_theme_mod( 'my_mod_one' ); // > 123

Changelog

Since 2.1.0 Introduced.
Since 5.6.0 A return value was added.

set_theme_mod() code WP 6.5.2

function set_theme_mod( $name, $value ) {
	$mods      = get_theme_mods();
	$old_value = isset( $mods[ $name ] ) ? $mods[ $name ] : false;

	/**
	 * Filters the theme modification, or 'theme_mod', value on save.
	 *
	 * The dynamic portion of the hook name, `$name`, refers to the key name
	 * of the modification array. For example, 'header_textcolor', 'header_image',
	 * and so on depending on the theme options.
	 *
	 * @since 3.9.0
	 *
	 * @param mixed $value     The new value of the theme modification.
	 * @param mixed $old_value The current value of the theme modification.
	 */
	$mods[ $name ] = apply_filters( "pre_set_theme_mod_{$name}", $value, $old_value );

	$theme = get_option( 'stylesheet' );

	return update_option( "theme_mods_$theme", $mods );
}