A versão 4.6 do WordPress trás 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( string $post_type, array|string $args = array() )
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 e etc.
Recomendo que acompanhe outras funcionalidades que foram colocadas no core da mais nova versão do WordPress.