Introdução da nova classe WP_Post_Type
A versão 4.6 traz como uma das suas principais novidades a nova classe WP_Post_Type, mudando as antigas globais wp_post_types para agora um array de objetos.
A versão 4.6 do WordPress↳WordPress9 conteúdosAndroid push notifications com Quasar Framework, Firebase e integração com WordPressDev (Back & Front) · mai 2019Simplificando a acessibilidade de documentos: introduzindo a integração do ONLYOFFICE DocSpace com WordPress e DrupalDev (Back & Front) · abr 2024Como criar seu site WordPress com um único prompt de IA em minutos?Dev (Back & Front) · mar 2025Ver tudo em Dev (Back & Front) → traz como uma das suas principais novidades a nova classe WP_Post_Type, mudando as antigas globais wp_post_types para agora um array de objetos. A nova classe fornecerá métodos para lidar com taxonomias, meta boxes, reescrita de regras (rewrite rules) e também hooks. Estes são utilizados internamente pelos métodos register_post_type() e unregister_post_type(). Cada argumento do tipo post, padrão ou customizado, é agora uma propriedade da nova classe.
WP_Post_Type chegou! O que muda?
Os seguintes métodos foram agora alterados para retornar um objeto do tipo WP_Post_Type:
register_post_type( <span class="arg-type">string</span> <span class="arg-name">$post_type</span>, <span class="arg-type">array|string</span> <span class="arg-name">$args</span> = <span class="arg-default">array()</span> )
get_post_type_object( string $post_type )
Por exemplo, get_post_type_object() não fornece nenhuma informação sobre as propriedades disponíveis. O método register_post_type() fornece, em partes, informações sobre as propriedades disponíveis, porém as efetivas propriedades do post diferem do argumento $args. A ideia da nova classe é tornar essas propriedades mais claras, prevenindo a ocorrência de erros acidentais e auxiliando na documentação do código.
As antigas globais wp_post_types podem ser um array de objetos do tipo WP_Post_Type, as propriedades da classe não irão se alterar garantindo a compatibilidade das versões anteriores com a nova versão. A intenção é apenas adicionar benefícios aos métodos anteriores.
Alguns parâmetros de hooks serão agora também objetos do tipo WP_Post_Type:
- O segundo parâmetro $post_type do hook xmlrpc_prepare_post_type;
- O segundo parâmetro $post_type_object do hook registered_post_type;
- O terceiro parâmetro $post_type do hook nav_menu_items_{$post_type_name}.
A função is_post_type_viewable() agora também aceitará um objeto WP_Post_Type.
Conclusão
Agora é aguardar a chegada das novidades do mais recente release do WordPress, para que usuários e desenvolvedores possam desfrutar das novas funcionalidades e facilidades que visam otimizar o trabalho dos mesmos, seja por meio de novas classes, termos, integrações, atualizações etc.
Recomendo que acompanhe outras funcionalidades que foram colocadas no core da mais nova versão do WordPress.









José Carlos Macoratti
Cesar Gimenes





