2
respostas

Array $paises vazio

Por algum motivo a função get_terms quando é chamada retorna um array vazio apenas na primeira vez e todas as vezes que é chamado na sequência retorna o array preenchido corretamente. O único jeito que eu encontrei de resolver foi chama-lo uma vez sem imprimi-lo antes do select, tem outra maneira de resolver o problema?

echo '<pre>';
$paises = get_terms(array('taxonomy' => 'paises'));
print_r($paises);
echo '</pre>';
echo '<pre>';
$paises = get_terms(array('taxonomy' => 'paises'));
print_r($paises);
echo '</pre>';

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

2 respostas

Imagino que esse problema é o que acaba por me atrapalhar nas aulas seguintes, em que ao selecionar um país não aparece nenhum post.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Olá Gustavo, tudo bem?

Desculpa a demora em te responder!

Acredito que está tendo um problema com a função get_terms retornando um array vazio na primeira chamada e preenchido corretamente nas chamadas seguintes. Uma possível solução para esse problema é utilizar a função wp_reset_query() antes da primeira chamada da função get_terms. Essa função é responsável por redefinir a consulta do WordPress, permitindo que a função get_terms seja executada corretamente.

Segue um exemplo de como ficaria o seu código utilizando a função wp_reset_query():

echo '<pre>';
wp_reset_query();
$paises = get_terms(array('taxonomy' => 'paises'));
print_r($paises);
echo '</pre>';
echo '<pre>';
$paises = get_terms(array('taxonomy' => 'paises'));
print_r($paises);
echo '</pre>';

Espero ter ajudado. Caso tenha dúvidas, estarei à disposição. Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!