A variável global definida no header do template.php não consegue ecoar no footer.php

Por exemplo, configurei isso no header.php no meu modelo:

  

E eu posso ecoar $ sidebar_state no header.php, está funcionando.

No entanto, quando tento ecoar esta variável de footer.php ou page.php, não está funcionando e preciso repetir meu código para obter o ID da postagem e postar meta, etc., que está repetindo e uma má prática.

Por que não está disponível se é apenas include?

Como tornar a variável disponível em todos os arquivos em arquivos de modelo WP?

ATUALIZAR:

Após a sugestão de usar variables ​​globais, ainda não echo $sidebar_state; em footer.php. Meu código em header.php parece assim:

      

Footer.php parece assim:

  

está wokring apenas no header.php. Alguma idéia do que devo mudar no meu código?

Solutions Collecting From Web of "A variável global definida no header do template.php não consegue ecoar no footer.php"

o códice afirma que você só pode usar get_the_id() no Loop

Tudo o que eu precisava era usar a variável global antes da declaração AND antes de ecoar.

 < ?php global $postidextra; $postidextra = "20"; ?> 

e depois

 < ?php global $postidextra; echo $postidextra; ?> 

Obrigado GM pela idéia.

O motivo pelo qual uma variável global declarada no header.php não pode ser acessada no footer.php é porque header.php e footer.php são arquivos de parte do modelo que estão incluídos em um determinado arquivo de modelo via get_header() e get_footer() , respectivamente .

Cada uma dessas tags de modelo é um invólucro elegante para a function include() do PHP. Em PHP, as variables ​​globais não são passadas para arquivos incluídos e, portanto, não podem ser referenciadas sem serem redeclaradas.

A solução é simplesmente declarar a variável global em footer.php antes de referenciá-la.