Nos últimos anos o WordPress se consolidou como um CMS de sucesso e um exemplo claro disso é a enorme quantidade de Temas e Plugins disponíveis. Com essa crescente adoção e uma quantidade enorme de temas sendo criados todos os dias, era natural que surgissem os frameworks.
Desenvolvedores vem utilizando frameworks há vários anos. Eles são conjuntos de códigos que permitem um grande ganho de produtividade na medida em que evitam que alguns códigos “básicos” tenham que ser re-escritos a cada novo projeto. Na área de programação web alguns frameworks já consolidados são o Zend (PHP), jQuery (javascript) e blueprint (css). Nesse artigo vamos apresentar como funcionam os Frameworks para desenvolvimento de temas para WordPress e entender as vantagens de utilizá-los.
Frameworks de WordPress não são Frameworks
Bem… são mas não são. Eles são frameworks pois se encaixam na definição utilizada acima, servindo de ponto de partida para novos temas. Mas eles não são frameworks pois eles vão além e funcionam como temas completos. Na verdade a maioria dos chamados frameworks são Parent Themes* (Temas Pai) que servem de base para Child Themes (Temas Filhos).
Frameworks na verdade são frameworks + parent theme
Parent themes e Child themes
Child themes são temas que “herdam” todas características de seu parent theme (estilos, templates de páginas e functions.php) e têm a capacidade de sobre-escrever essas características. Na verdade qualquer tema “normal” pode funcionar como parent theme, inclusive o tema padrão do WordPress – Twenty Ten.
Esse recurso permite que desenvolvedores criem parent themes bastante complexos (comumente chamados de frameworks) que servirão de base para vários outros temas (filhos). Através dessa prática, o tempo de desenvolvimento de novos temas (que serão filhos) pode ser reduzido drasticamente e as atualizações se tornam muito mais simples.
Agora que já entendemos os conceitos, podemos continuar chamando os parent themes de framewoks, pois a nomeclatura é o menos importante aqui. 😉
Tipos de Frameworks
Em post recente sobre o tema, o pessoal do WP Candy separou os frameworks em dois tipos:
- Frameworks para se iniciar temas (Starter theme frameworks)
- Frameworks baseados em opções (Option-based Frameworks)
Enquanto os primeiros são mais simples e oferecem apenas a estrutura básica para se iniciar temas, o segundo grupo é mais elaborado e geralmente permite diversas modificações de layout e em outros recursos do framework através da uma tela de opções.
Ainda que eu não ache que essa classificação seja muito boa (pois alguns frameworks são avançados e não apresentam tela de opções), ela nos é útil para entendermos que existem tipos diferentes de frameworks.
Enfim: existem diversos tipos de frameworks e eles devem ser escolhidos em função de diferentes critérios. Alguns desses critérios podem ser: os objetivos do tema ser desenvolvido, o nível de conhecimento (PHP e CSS) do desenvolvedor e a verba disponível. Em um próximo post vamos aprofundar nessa questão e te ajudar a escolher o seu framework.
Funcionalidades mais comuns
Ainda que nem todos os frameworks disponham das mesmas funcionalidades, algumas delas estão presentes em quase todos. Vamos tentar apresentar de forma resumida essa ferramentas que deixam os frameworks de WordPress tão atrativos.
Folhas de Estilos
Praticamente todos os frameworks vem com CSS Reset, Print.css (usadas em impressão) e uma folha de estilos já pronta com todos os IDs e Classes, cabendo ao desenvolvedor estilizar elementos específicos.
Templates de página (Page templates)
Ao invés de desenvolver “do zero” modelos de páginas que sejam diferentes daquelas providas pelos temas comuns, ao utilizar frameworks os desenvolvedores podem se aproveitar dos diversos modelos pré-existentes.
Além disso, um bom framework garante um código XHTML válido e classes dinânicas que te permitem aplicar regras de estilo em função da página que o visitante está e outros fatores como dia da semana e idioma.
Funcionalidades avançadas
As funcionalidade avançadas variam muito de framework para framework, mas de um modo geral o que podemos encontrar é:
Opções de SEO avançadas
A maioria dos frameworks vem com um opções avançadas de SEO, como possibilidade de alterar os atributos Title e meta description de cada página/post. Em alguns casos essa opção pode ser desligada (caso o usuário prefira utilizar um plugin).
Sistema de Breadcrumbs
Ainda que uso das “migalhas de pão” para melhorar a usabilidade seja um consenso, isso é algo que o WordPress não apresenta por padrão. Por essa razão essa é uma funcionalidade que praticamente todo framework traz nativamente.
Widgets Avançados
Alguns frameworks re-escrevem completamente alguns dos widgets-padrão do WordPress de forma a proporcionar mais controle e opções aos usuários. Em alguns casos novos widgets são criados, como por exemplos widgets para exibir últimos tweets.
Outras
Outras opções, que podem variar em função do framework escolhido são:
- Carregamento de jQuery e Javascript para menus dropdown;
- Ativação de suporte a funções avançadas do WordPress (como as que foram inseridas à partir do WordPress 3.0);
- Novas áreas para widgets (sidebars);
- Gestão de thumbnails (miniaturas);
- Atualizações automáticas;
- Etc.
Conclusão
Seja você é um desenvolvedor de temas para WordPress ou apenas um heavy user, os frameworks podem ser muito úteis. Eles permitem a criação de sites “elaborados” em pouco tempo e em muitos casos permitem também que os usuários façam mudanças profundas no WordPress, inclusive de estilo, sem tocar em nenhuma linha de código.
A quantidade de opções de frameworks disponíveis aumenta a cada dia e certamente existe um que se adequa às suas necessidades. O importante é escolher bem e avaliar se o framework vem sendo atualizado constantemente e se os líderes do projeto tem comprometimento em mantê-lo ativo.
* Nota: O Hybrid e Carrington, que surgiram como Parent Themes, lançaram seu “core” separadamente constituindo frameworks reais.
Muiro bom o seu site, obrigado por ajudar as pessoas e a grande comunidade WordPress, tá favoritado! 😉
Obrigado André! O site está um pouco parado, mas vamos voltar a postar em breve!
Abraços.
Olá Brubrant. Parabéns pelo site.
Me deparei a pouco tempo com o WP, e logo já percebi sua potencialidade.
Acredito que possa tirar algumas dúvidas por esse post.
Estou criando um site porem estou com um tema muito bom no qual já imaginei todo o design que irei construir em cima dele. O problema que estou tendo é que ele necessita de um tema pai (que acabo de entender).
Porém o que eu gostaria de saber como consigo este tema ou se terei que criar um?
tema: http://graphpaperpress.com/themes/sidewinder/
Obs: Se eu utilizar este tema base (http://graphpaperpress.com/themes/base/) eu conseguirei utiliza o “sidewinder”
E como disse o André ” Tá favoritado!”
Abraços.
Olá Juca, que bom que você gostou do site!
Sobre sua dúvida: você mesmo já respondeu. =)
O Sidewinder é um child theme do Base. Isso significa que você tem que instalar o segundo antes do primeiro.
Eu não conhecia esse framework e achei até interessante, parece que o foco é em blogs/sites de fotógrafos…
Vale lembrar que esse framework/tema que você escolheu é Pago. Eu só compraria esse framework se tivesse a intenção de fazer mais de um site com ele, senão pode acabar ficando bem pesado no bolso (eles trabalham com um modelo de mensalidade).
Dependendo do seu nível e habilidade com CSS e PHP e sua “pãodurice” vale a pena usar um framework gratutito e desenvolver seu child theme do zero.
De antemão sugiro que teste o Hybrid e o Thematic; sendo que utilizo o Hybrid.
Abraços e fique ligado! Em breve teremos novidades aqui no Universo WP….
Olá de novo Brubrant.
É eu havia chegado a essa conclusão mas não tinha certeza e preferi perguntar desta vez antes de fazer testes.
Sobre a “pãodurice” (Raxei de rir) é meu codinome, além também de não ter a menor habilidade em CSS e PHP.
Fui dar uma olhada sobre a questão do ‘money’ e realmente eu tenho que pagar para ter esse ‘BASE’ o child theme eu já havia baixado, mas ele não funciona.
Não tem jeito nenhum mesmo de conseguir fazer ele funcionar sem esse ‘BASE’, nem mesmo colocando outro genérico?
Muito Obrigado!
E valeu pela atenção!
Juca,
Infelizmente é praticamente impossível usar um child theme sem seu parent correspondente…
Como você não domina CSS, dificilmente um framework gratuito vai lhe atender completamente.
No seu caso eu escolheria um tema bacana (pago) numa “theme foundry” renomada (tipo uma Woo Themes da vida). No fundo eles também possuem um framework próprio com diversas opções.
O Theme Forest também possui alguns temas bons (relativamente baratos), mas lá também tem muito tema mal codificado…
Outra opção é achar um Child Theme bem feito para um Framework gratutito.
Adorei as dicas.
Como o site que estou fazendo é para mim, usei de uma técnica “Hero Turko” de ser e apareceu do nada em meu desktop o ‘base’. (¬¬’)
Mas é muito bom conhecer esses sites que você passou pois os preços são bacanas como também a variedade.
Muitas vezes perdi clientes que gostariam de fazer sites pois tinha quer cobrar além do meu serviço (a parte visual) a de um programador, e muitas vezes não cabia no bolso deles.
E até por isso que estou muito feliz com WP estou correndo de aprender bastante sobre o mesmo!
Um forte abraço!
E muito obrigado pela grande ajuda!
Na espera de novos posts!
Muito bem explicado! A acrescentar que este post decididamente está na ordem do dia, para que o nosso wordpress continue no bom caminho. Aproveito para pedir a devida autorização para utilizar este post no meu web site em: http://udestudio.com com o intuito de satisfazer a curiosidade daqueles a quem apresento propostas de trabalho. Perante esta apresentação são poucos os não compreendem a mais valia de utilização deste potente CMS.
Abraços, estarei atento ao teu trabalho, e voltarei certamente
Paulo Sousa
Obrigado Paulo. Que bom que você gostou!
Pode usar o post sim. Peço apenas que mantenha os créditos e coloque um link para o Universo WP.
Abraços!
Muito legal o post , agora , faltou demonstrar links , dos frameworks de temas e de opções , penso q seria interessante !
Ótimo post. Mas só para corrigir, jQuery não é um framework, e sim uma biblioteca. Há uma certa diferença. Abraço.
Olá, muito bom o artigo!
Tenho uma dúvida: não sou desenvolvedora de temas e estou iniciando agora meu blog. Apenas quero usar algum tema já pronto para fazer as postagens. Vc recomenda que eu tenha um framework nesse momento? Obrigada!
Vale listar um framework criado pela comunidade brasileira e para a comunidade brasileira, o Odin Framework (wpod.in). Começamos utilizando ele para desenvolver, e acabamos criando o nosso fork também, o Haste Starter (https://github.com/HasteDesign/Haste-Starter)
Ei Allyson mais uma vez obrigado pela sua participação e comentário 🙂 Escrevemos esse artigo já faz um bom tempo e está desatualizado. Conhecemos o Odin e é realmente ótimo, depois vamos incluí-lo no artigo e vou conferir o seu fork, muito bacana, parabéns e obrigado!