How to intercept the loading of a field? I have a field called field_price.  How do I get that field on my page to display Free when the value is $0.00, and the actual value every other time?

I tried to intercept the loading of the field by doing things like:

mytemplate_hook_load(){
// do stuff
}

mytemplate_process_field(){
// do stuff
}

mytemplate_preprocess_field(){
// do stuff
}

etc.. etc.. etc..


I tried so many different permutations of the above as modules, template, changing function names etc...  But none of them ever fire.  I know I have the Field module enabled.

What am I doing wrong?

Note: I am using drupal 7
Ok, i figured it out.  I put this code into my template.php of my theme:

function johncustom_field__field_price(&amp;$variables) {
        if($variables['element'][0] == '$0.00') return 'Free';
        else return $variables['element'][0];
}


I also had to clear the cache several times before this function would fire.