Думаю, когда вызывается get_header() (или что там, не помню), код примерно такой:
function get_header() {
include "header.php";
}
Код, естественно, взят наобум. Так как в php в функциях все переменные по умолчанию локальны, переменная создается в пространстве функции и в другой функции (get_footer) уже не видна. Можно попробовать записать в header.php и footer.php код:
<?php global $variable; ?>