﻿id,summary,reporter,owner,description,type,status,priority,milestone,component,version,severity,resolution,keywords,cc
14721,set_theme_mod() needs a filter,mikeschinkel,,"'''`set_theme_mod()`''' '''needs a filter'''!!!

'''Background:''' I was answering [http://wordpress.stackexchange.com/questions/972/ this question on WordPress Answers] about how to create a second background option in the admin.  I was able to do so relatively easily except for the fact that the only hook available for swapping the value to save for `set_theme_mod()` is within `get_option()` and `get_option()` has no context for the name of the theme mod so I had to resort to the highly brittle technique of determining what was being saved based on the order it was called. One small change to `/wp-admin/custom-background.php` and it all breaks.

'''Prospective Update:'''
Here's what the filters might look like:

{{{
function set_theme_mod($name, $value) {
	$theme = get_current_theme();

	$mods = get_option(""mods_$theme"");

	$value = apply_filters( ""set_theme_mod"", $value, $name );
	$value = apply_filters( ""set_theme_mod_$name"", $value );
	$mods[$name] = $value;

	update_option(""mods_$theme"", $mods);
	wp_cache_delete(""mods_$theme"", 'options');
}

}}}


I would submit a patch but I always struggle with that. I even asked others to [http://wordpress.stackexchange.com/questions/990/ help me streamline and understand the patching process a bit better].",enhancement,new,normal,Future Release,Themes,3.0.1,normal,,has-patch,mikeschinkel@… sorich87@… steve@…
