Это происходит потому, что в WordPress каждый файл шаблона загружается независимо от других файлов. Поэтому переменные, объявленные в одном файле, не будут доступны в другом файле шаблона.
Чтобы решить эту проблему, можно использовать функцию `get_template_part()` в WordPress для включения различных файлов шаблона. Эта функция позволяет передавать переменные между файлами шаблона, что делает их доступными во всех частях вашего сайта.
Также можно использовать функции WordPress, такие как `get_header()`, `get_footer()` и другие, чтобы включить header.php и footer.php в другие файлы шаблона, что также позволит делиться переменными между ними.