Ian, Chris and all,
Fairly finished with my 1st Thematic theme, and I'm fairly certain I'll be using it on a number of sites in the future. I'm posting here a few things which I searched long for on a variety of sites. Hopefully this will help other who come across them. I'm fairly advanced when it comes to coding in php and I've built a few wordpress themes in the past. I'll be doing about 20 client sites before the end of the year is over, and I'm pretty sure I'll be using thematic for most of them.
So, first, any syntax bug in your functions.php code is going to cause you a white screen and you may not be able to even get into wp-admin. If this happens, add
<?php error_reporting(E_ALL); ini_set('display_errors', 'on'); ?>
to the top and you'll get the errors displayed. Simple, handy, essential.
Next, my last project was to develop a new wordpress theme (which I decided to use thematic for) for an existing wordpress blog. So, making sure to have thematic installed in the themes directory, and your new child theme in it's own directory too, I was able to use this VERY handy plugin
http://plugins.trac.wordpress.org/wiki/ThemeSwitcher
to do so. 1st, install the plugin and activate it. Now you don't have to use the php code at all, simply go back to the blog and enter add "?wptheme=name of theme from your childtheme's style.css" to the end of your wp site's URL. Like this --
http://www.whatever.com/blog/index.php?wptheme=Name of child theme
and the plugin will set a cookie for that session (close your browser to reset) that will let you view your new child theme while you develop it.
To see the widgetized areas for thematic, set the existing template as a child theme by adding "Template: thematic" to it's style.css and now you can see thematic's widget areas while you develop your own theme, which only you are seeing. (The existing theme wasn't using any widgets, so I got away with this pretty well.)
Next up. I'd suggest copying the thematic styles directory into your child theme and changing styles.css in your child theme to point to there. Really helps when you need to change something.
Oh, and while you can scour the web for the answers, I'd suggest just looking at themes\thematic\library\extensions for a list of all the thematic hooks. Look for the 'doaction' lines and see the comments as to what each do. I almost pulled my hair out relying on http://bluemandala.com/thematic/thematic-structure.html
From there, when you are editing functions.php, you can follow the advice on the forums here and on the wiki about hooks and filters. Remember that for some of the code examples you'll be dropping in and out of php with <? and ?>, and an error will cause the whole site to go down. I found it easier to add my hooks in includes like this -
<?php
function calltoaction() {
include(STYLESHEETPATH . '/calltoaction.php' );
}
add_action('thematic_navigation_below', 'calltoaction', 1);
?>
rather than spend time figuring out where I'd gotten the syntax wrong. Oh, and STYLESHEETPATH is the constant for PHP to include, but if you have to output the same path in html, it looks like this --
<?
function my_scripts() { ?>
<link rel="stylesheet" href="<? bloginfo('stylesheet_directory'); ?>/css/jd.gallery.css" type="text/css" media="screen" charset="utf-8" />
<script src="<? bloginfo('stylesheet_directory'); ?>/scripts/mootools.v1.11.js" type="text/javascript"></script>
<script src="<? bloginfo('stylesheet_directory'); ?>/scripts/jd.gallery.js" type="text/javascript"></script>
<?php }
add_action('wp_head', 'my_scripts', 20);
?>
Hope this post helps clear things up!