Usually theme settings are stored in an encoded way in the database. For exemple a background image setting will kind of look like that :
background:14:path/image.jpg
So options are stored in this format:
type:length:value
If you change the path of your background image, then it will change the length of the value - so the length attribute will no more be valid. It will make the settings import fail (all the encoded string will be considered as invalid), and theme will use default options.
Often themes have an import / export functionality. You should check on that, if there is no such functionality, then you'll have to set up again all your theme options, or look for the theme options encoded string in wp_options
and use the following script to fix the lengths:
$corrupted_serialized_data = '... your theme option strings here from option_value ...';
$fixed_serialized_data = preg_replace('!s:(d+):"(.*?)";!e', "'s:'.strlen('$2').':"$2";'", $corrupted_serialized_data );
print $fixed_serialized_data;
And update the option with this new string.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…