1. i'm sure it is intimidating, but you have to read the functions. what is creating what? they all say things like return $posttitle or $postmeta = "something".
do you have notepad++ or some other decent text editor? if not, get it:
http://notepad-plus.sourceforge.net
it makes your life a lot easier. you can search through the text in an open file OR in closed files. for instance, i quickly searched for the term 'By' in content-extensions.php and it brings me to exactly the function that creates the By Author link. thematic_postmeta_authorlink(). within said function i see the filter thematic_post_meta_authorlink, which I could use to remove the By [username] from the meta (or use the override)
or, b/c that function is returning a value that tells me it is being used/called somewhere else. searching for thematic_postmeta_authorlink brings me to
the thematic_postheader_postmeta() function that is calling it. this is probably the most effective place for us to be since all your changes are to the post meta. you could've gotten here more directly by searching by a different HTML class.... the whole post meta is in a div with a class of "entry-meta"
now you are at the thematic_postheader_postmeta() function and you know you can filter it too b/c as i said in my above post (please re-read the part on filters!) you know you can filter the value b/c it says APPLY_FILTERS and you can tell the filter's name is thematic_postheader_postmeta. you could trace this further to thematic_postheader, but i'll save you the trouble and let you know you are in the right place.
in my previous post i put up a generic filter function. one that doesn't work, but one that you can fill in the blanks for any situation. one that i hoped would explain what the hell is going on with a filter. THIS example will do something.
function kia_postheader_postmeta($postmeta){
$postmeta = "BACON!";
return $postmeta;
}
add_filter('thematic_postheader_postmeta','kia_postheader_postmeta');
put it in your functions.php and all your post meta will be replaced with BACON! you have sent a variable back to the APPLY_FILTERS and it is using your value instead of what was already defined.
as much as bacon is delicious you probably don't want it displaying on every post. but this is where you can define exactly what you DO want to display. you can use anything that is RETURNED. you can use string text (like 'bacon'), string html (like '<div id="bacon">bacon</div>') or conveniently any other function that RETURNS a value.
function kia_postheader_postmeta($content){
$postmeta = '<div class="entry-meta">';
//$postmeta .= thematic_postmeta_authorlink(); //delete this
//$postmeta .= '<span class="meta-sep meta-sep-entry-date"> | </span>'; //delete this
$postmeta .= thematic_postmeta_entrydate();
$postmeta .= '<span class="meta-sep meta-sep-entry-date"> | </span>'; //added this
$postmeta .= thematic_postfooter_postcategory(); //added this. found that the categories list at the bottom is created by this function using a search for the class 'cat-links'
$postmeta .= thematic_postmeta_editlink();
$postmeta .= "</div><!-- .entry-meta -->\n";
return $postmeta;
}
add_filter('thematic_postheader_postmeta','kia_postheader_postmeta');
sometimes a filter is the best solution, but it might have been easier to use the built-in override in this case. you would have seen it in the content-extensions.php. says if childtheme_override_postheader_postmeta exists then use THAT instead. when i use an override, i will commonly copy over the contents of the original function and then make my changes.
function childtheme_override_postheader_postmeta(){
$postmeta = '<div class="entry-meta">';
//$postmeta .= thematic_postmeta_authorlink(); //delete this
//$postmeta .= '<span class="meta-sep meta-sep-entry-date"> | </span>'; //delete this
$postmeta .= thematic_postmeta_entrydate();
$postmeta .= '<span class="meta-sep meta-sep-entry-date"> | </span>'; //added this
$postmeta .= thematic_postfooter_postcategory(); //added this. found that the categories list at the bottom is created by this function using a search for the class 'cat-links'
$postmeta .= thematic_postmeta_editlink();
$postmeta .= "</div><!-- .entry-meta -->\n";
return $postmeta;
}
you'll note there is no need to add_filter or add_action when using the override.
2. if you hadn't known about content-extensions... well i have to wonder that if you were looking for something why wouldn't you look around in all of the thematic files? to look more expeditiously you could use notepad++ to search in files. i know where almost everything is now, but when i am using a new theme or looking for something in WP core, then i tend to search by class name. this is b/c alot of the content is variable and i don't necessarily know the variable name to search for, but the html classes change rarely. if you look at the site w/ firebug you would see the author link is surrounded by a span with the "meta-prep-author" class. you could search for that in the whole thematic folder and it would bring you to the exact function in content-extensions.php.
3. see above postmeta example in part 1.
**************
"but I can't find anything that teaches these kinds of things"
i respectfully call shenanigans. for one, you are on a thread where i've posted links to sites that explain these things
http://themeshaper.com/2009/05/03/filters-wordpress-child-themes/
has both bacon-flavored generics and actual thematic examples. i'm sure you could also google wordpress filters or thematic filters to get more similar sites. additionally, i have written my own tutorial on the subject in this very thread.
SO, what i'd like from you is to know exactly where that information is unclear. i am not trying to be an ass, but 1. it gets tiresome explaining the same concept over and over b/c 2. everyone is getting hung up on the same thing. this tells me that either people are lazy and can't/won't read what is available, hoping that someone on a forum will do the work for free instead of hiring a developer. OR it tells me that what is available, while it makes perfect sense to those of us in the know, is still confusing from the newbie's perspective.
therefore i am asking for your help w/ the second part. your questions were a decent start and a step above the common cop-out "i don't understand!", even though i think at least most of 1 and 3 were answered in this thread and in the links provided in this thread. i don't want to sound like an ass, but i want to know WHY it is confusing? what specifically is unclear? what do you need to understand that was not already provided? what did you try and not have work? i'm serious.
this will help me improve the structure and content of my tutorials/explanations so that they make sense to the newbies they are targeted at.
cheers.