Diferentes postagens e páginas no WordPress são identificadas exclusivamente por seus IDs. Depois de saber o ID de uma postagem, você pode obter outras informações relevantes, como título ou data de publicação, etc.
Neste post, mostrarei dois métodos para obter o ID do post no WordPress.
Usando o get_the_ID()
Função para obter o ID da postagem
Você pode facilmente obter o ID da postagem atual no loop do WordPress usando o get_the_ID()
função. Esta função retorna o ID da postagem atual no loop do WordPress ou retorna false
se o $post
variável não está definida.
Você pode estar se perguntando o que quero dizer com loop do WordPress. O loop do WordPress é uma das técnicas usadas para exibir o conteúdo de uma postagem em arquivos de modelo.
Se você quiser aprender a codificação PHP básica para WordPress, confira nosso curso gratuito.
Você também pode encontrar muitos tutoriais sobre como codificar o WordPress aqui no Envato Tuts+.
Aqui está um exemplo que obtém o ID da postagem atual no WordPress:
The Post ID: ".get_the_ID().""; get_template_part( 'content', 'single' ); do_action( 'storefront_single_post_after' ); } ?>
O trecho acima é do single.php arquivo no tema Storefront. Eu modifiquei para ecoar o ID do post antes do conteúdo do post.
Digamos que você tenha uma página de perguntas frequentes dentro do tema com o nome do arquivo página-faqs.php. Você poderá usar o mesmo get_the_ID()
função para obter o ID da página.
Eu também gostaria de acrescentar que geralmente você pode obter o ID do post usando esta função mesmo fora do loop. No entanto, nem sempre pode ser preciso.
Usando get_queried_object_id()
Função para obter o ID da página
Outra função que você pode usar para obter o ID de qualquer objeto consultado, como um post ou ID de página no WordPress é o get_queried_object_id()
função. Esta função lhe dará o ID do post ou página atual mesmo fora do loop.
Esta função é especialmente útil em páginas como a página inicial do blog. Neste caso, usando a função get_the_ID()
retornará o ID da primeira postagem do blog no loop.
Para o meu site, configurei a página inicial do blog para ser /blog/
. Agora, o ID desta página é 134. O ID da primeira postagem listada na página do blog é 192. Se eu chamar a função get_the_ID()
nesta página, ele retornará 192. O que eu realmente quero aqui é o valor 134.
Tente adicionar as seguintes linhas na página inicial do seu blog e você verá diferentes IDs sendo gerados por essas funções.
The post ID: ".get_the_ID().""; // The Queried Object ID: 134 echo "The Queried Object ID: ".get_queried_object_id()."
"; ?>
Colocar o código acima após o último post no loop resultaria na saída do get_the_ID()
função sendo o ID do último post. A função get_queried_object_id()
ainda retornaria o ID de página adequado.
Se você usar esta função na página de arquivo da categoria, ela retornará o ID da categoria porque não há uma página de categoria específica.
Pensamentos finais
Nesta dica rápida, aprendemos sobre duas funções diferentes que você pode usar para obter o ID da postagem ou página atual no WordPress. Você também pode obter o ID do post usando o global $post
objeto, mas isso nem sempre será confiável, pois alguém pode ter ajustado seu valor.