Back-End

22 set, 2016

Introdução da nova classe WP_Post_Type

Publicidade

A versão 4.6 do WordPress 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.