Olá amigos quem foi no WordCamp BH ouviu falar no RootWP um framework do amigo Guilherme Mazetto, esse cara promete! Fiz alguns testes e fiquei de cara com os resultados, para quem não sabe o Root é um projeto que tem como principal objetivo facilitar e agilizar o desenvolvimento de Temas WordPress. Programado com base na Plugin API, o projeto possui suas funcionalidades extendidas muito facilmente, tem suas próprias funções Pluggable, classes específicas para manipulação de Custom Post Types, Taxonomias, gerenciamento de Term Meta, páginas administrativas, personalização do Dashboard e muito mais.
Com o Root trabalhamos apenas o PHP e todas as saídas HTML são personalizáveis; desse modo o framework é facilmente utilizável em qualquer projeto pois não interfere na camada de apresentação, o front-end. Outra grande vantagem desse framework é que sua atualização não interfere no Tema em si, veja mais detalhes em Por onde começar.
A manipulação dos tipos personalizados de posts ocorre mediante a utilização da classe CPT localizada no arquivo lib/cpt.php.
Acima o tipo slide foi inserido dentro do Dashboard utilizando as definições padrão do WordPress. Para personalizar os rótulos do tipo de post, utilizamos o segundo parâmetro:
As nomenclaturas são geradas automaticamente. Em situações onde o plural se distingue da forma habitual (com simples acréscimo do ‘s’); é usada a seguinte definição:
Quanto as definições de recursos suportados, definição como tipo público ou não e demais características do tipo de post criado; estes são atribuídos em forma de um array no terceiro parâmetro:
A reescrita de URL é atualizada uma vez apenas a cada versão do Tema, ou seja; de acordo com o valor da constante THEME_VERSION. Estabeleça no arquivo functions.php a definição de tal constante a fim de controlar mais facilmente esse comportamento do seu projeto.
De qualquer modo você ainda poderá acessar no Dashboard Configurações > Links Permanentes e clicar sobre o botão Salvar alterações a fim de realizar a atualização da reescrita manualmente.
Com intuito de aprimorar a experiência do gerenciador de conteúdo é bem interessante exibir informações específicas nas listas de resultados dos tipos de posts. Cada projeto possui uma informação específica que pode ser muito útil se exibida durante a listagem daquele conteúdo. Veja por exemplo a exibição de uma coluna para exibir a Imagem Destacada dos posts:
As colunas podem receber valores ordenáveis. O exemplo mais prático desse recurso é a inserção da coluna Ordem para as páginas:
Além dessas informações (thumbnail e ordem de exibição) o Root está preparado para exibir e ordenar colunas com base nos meta dados, inseridos através das Metaboxes e seus Custom Fields. A fim de exibir uma coluna com um meta valor, determine como id da coluna o valor da chave meta_key. Se desejar ordenar a coluna, identifique a qual tipo de ordenação ela deve ser submetida; de textos string ou numérica numeric. Por padrão a ordenação é alfabética.