Como exibir IDs de postagem e página no administrador do WordPress
Publicados: 2015-02-14De vez em quando seria conveniente saber o ID de um post ou página no WordPress, certo?
Seja para um shortcode, ao configurar algo nas configurações do tema ou talvez apenas para obter um link rápido.
Seja qual for o caso, o WordPress não facilita a descoberta do ID de uma postagem. Uma maneira de pegá-lo é visitar a página de edição de uma postagem e verificar a URL. Deve ser algo assim:
https://yourwebsite.com/wp-admin/post.php?post=137171&action=edit
O 137171 no exemplo acima é o ID da postagem – o principal identificador no banco de dados. Certamente deve haver uma maneira mais fácil de descobrir isso, certo? Felizmente, existe.
- Exibir IDs de postagem com um plug-in
- DIY: exibir IDs de postagem com código
- Adicionando colunas personalizadas
- Encontrando os ganchos certos
- Colocando o ID na frente
- Conclusão
Exibir IDs de postagem com um plug-in
A solução mais fácil é usar um plugin. O avô é o Reveal IDs, um plugin gratuito que atinge pouco mais de 425.000 downloads.
Outra nova opção é o WPsite Show IDs.
Ambos os plugins fazem praticamente a mesma coisa: mostram o ID de postagens, páginas, usuários, categorias, taxonomias personalizadas, tipos de postagem personalizados e assim por diante. A única razão pela qual eu me inclino para os IDs do WPsite Show é a pegada de 8Kb. Reveal Ids tem cerca de 311Kb, o que parece um pouco excessivo para um plugin tão simples.
DIY: exibir IDs de postagem com código
Se você estiver interessado em como exibir IDs de postagem, vamos dar uma olhada no código.
O código abaixo deve estar dentro de um plugin ou arquivo de funções do seu tema. Se você gostaria de criar um plugin, dê uma olhada em nosso guia para desenvolvimento de plugins para um modelo simples.
Antes de começarmos, também vale dizer que você deve criar um tema filho. Confira nosso guia de temas filhos se você ainda não estiver familiarizado com como criar um.
Adicionando colunas personalizadas
O WordPress oferece ótimas ferramentas para modificar as listas de postagens do administrador, incluindo a criação de suas próprias colunas e conteúdo. Precisaremos usar um filtro para adicionar a coluna e uma ação para adicionar os valores. Vamos fazer um teste rápido na tabela de posts regulares:
Isso é tudo o que precisamos. O filtro nos permite adicionar uma coluna modificando o array de colunas. A chave de matriz deve ser o identificador da coluna e o valor será exibido como o texto do cabeçalho.
A função ligada à ação tem dois parâmetros: o nome da coluna e o id do post são mostrados. Isso é perfeito - nos certificamos de simplesmente ecoar o ID quando nossa coluna personalizada é mostrada.
A função “revealid” é minha tentativa de trocadilho, desculpe por isso! Ele serve como um prefixo para todas as nossas funções para garantir que elas não colidam com outros plugins.
Um aparte rápido: Observe como eu usei 'revealid_id' == $column
, o que parece um pouco estranho. Isso é chamado de condição Yoda e é preferido no WordPress. O raciocínio é que, se você esquecer de definir a variável, não receberá um enorme erro de PHP em sua página.
Encontrando os ganchos certos
As duas funções acima são tudo o que vamos precisar. A peça restante do quebra-cabeça é onde ligá-los. Os ganchos que usamos visam apenas postagens regulares e nossos IDs não serão exibidos para páginas ou outros elementos.
Na realidade, esses ganchos são chamados de ganchos variáveis porque pertencem a um conjunto padronizado. A forma comum é: manage_[post_type_or_element]_columns
e manage_[post_type_or_element]_custom_column
.

Com base nisso, postagens, páginas, mídia e tipos de postagem personalizados devem ser fáceis, pois todos são tipos de postagem. Para fazer com que os IDs apareçam para todos esses elementos, você pode usar os seguintes ganchos:
Pequena ressalva aqui: Tudo, exceto posts e páginas, usa os tipos de post. O tipo de postagem para postagens é tecnicamente “post”, o tipo de postagem para páginas é “página”. Por alguma razão, os ganchos usam a forma plural. Esta é uma peculiaridade do WordPress, pois deve ser a forma singular. Veja, mesmo o núcleo do WordPress não é perfeito.
Eu adicionei um tipo de postagem personalizado lá: project. E se você quiser aplicar isso a todos os tipos de postagem personalizados? Nesse caso, você pode percorrer todos eles facilmente assim:
Eu recomendo a mesma abordagem ao lidar com taxonomias. Para gerar o ID apenas para categorias, você pode usar manage_edit-link-categories_columns
e manage_link_categories_custom_column
mas para adicioná-lo a todas as taxonomias, precisamos usar outro loop:
Por último, mas não menos importante, temos usuários e comentários. Estes são bastante simples também. Dê uma olhada:
Colocando o ID na frente
Esta pequena mudança é um pouco mais difícil do que parece. Quando adicionamos a coluna ID, nós a anexamos ao final de um array existente contendo todas as outras colunas. A solução parece bastante fácil: adicione-a à frente. Poderíamos fazer isso mesclando arrays, mas acontece que a caixa de seleção é a primeira coluna – na verdade, queremos o ID em segundo lugar.
Ainda usaremos a mesclagem de matrizes, mas precisamos de um pouco mais de truques – precisamos dividi-la primeiro. O primeiro array conterá a caixa de seleção (o primeiro elemento do array original), o segundo array conterá todo o resto. Vamos mesclar o primeiro array com um array contendo nosso ID e depois com o segundo array. O código deve deixar isso muito mais claro:
Conclusão
Eu acho que este é um ótimo exemplo da modularidade do WordPress. Os IDs já foram mostrados no admin (pré-WordPress 2.5), mas muitas pessoas não precisavam deles. Depois que esse recurso foi removido, os plugins surgiram para atender aqueles que ainda queriam ver os IDs das postagens.
Escrever nosso próprio plugin fornece um vislumbre de como o WordPress é modular e como é fácil modificar o próprio administrador. O mesmo método descrito acima pode ser usado para adicionar miniaturas, snippets de descrição e outras informações à tabela da lista de administradores.
Tag: