Theme Function Overrides - Use 'em!

I apologize if this read is a bit strange. I moved the 'meat' of this Drupal Help bit to the top so you don't waste time if all you want to do override a function. I'd rather you be productive then read my non-functional rant. . .

Here's generally how it works:
Inside module folders / directories, you have at least 2 files; a .info file and a .module file. If the module was called "clock" for instance, you can be sure there's a file that tells the Drupal engine and readers a few details like version numbers about the module. The other file would be clock.module. This file is php code and includes all the functions specifically for that module.

Some of these functions could be "theme functions" and those are the ones generally designed to build site components in HTML. The names of these functions would look like this:

Typically this name would mean the function perhaps builds the clock order of hours, minutes, and seconds. Maybe the clock only shows the day of the week. A 'format' function might handle that. This function would probably be named "theme_clock_format". In most cases (please look up the other cases if necessary) you're going to override it in your theme's "template.php" file. For complex functions, you're probably best off copying the entire content of the function, placing it in the template.php file, then renaming the function like this: mytheme_clock_format. Now you update the new function with the code you need producing the output you desire.

The Non-Functional Rant Part:
Let's face it.... You're using Drupal because you want life to be easy for you. You go through pains of time and sweat to install it and your favorite modules (unless of course you followed my advice here and saved that time and sweat) so that you can save time later.

If you're a PHP developer, then you know how to search out and update code to get Drupal to detail your sites beyond that "still in the box" look you get with the downloaded themes. In short, you're a Drupal themer. If you don't follow the rules, though, your efforts to save you time will cause you pain through time in lost code.

Specifically, you need to follow best Drupal rules and practices in all that you do with Drupal - such as overriding theme functions rather than modifying "core" or "contributed" modules. Know this: Modifying your downloaded modules directly in the module files is a BAD idea. Don't do it.

Instead, learn the "Drupal Way" and know that there is a very specific way to say to the Drupal 'engine', "Don't use your normal / expected thing (function, theme, block, or template), use this one instead. Doing it the right way will save you the problem of redoing it or losing your changes in the future; especially when you need to upgrade this changed module.