WordPressで異なるテンプレートへ変数を渡す方法 

これ知らなかった(もしくは忘れてた)の、自分でもビビった。
header.phpで

$test = 'header';
echo $test;

category.phpで

echo 'cate:'.$test;

とやると、header.phpの部分では「header」って出力されるけど、categroy.phpでは出力されない。
どうして!?と思ったら、
globalで宣言する必要があるっぽい。
header.phpで

global $test;
$test = 'header';
echo $test;

とすれば、category.phpでも、「cate:header」と出力される。

参考:http://www.webopixel.net/wordpress/1078.html