O que são e porque usar Frameworks de WordPress

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).

Framewoks, Parent themes e Child themes

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.

[body class=”wordpress ltr en_US y2011
m01 d17 h17 monday logged-in singular
singular-post singular-post-87 layout-default”]

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.

Tags: ,

Categorias:

Veja isso:

  • 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!

  • Croata

    Muito legal o post , agora , faltou demonstrar links , dos frameworks de temas e de opções , penso q seria interessante !

  • FelipeMartinin

    Ótimo post. Mas só para corrigir, jQuery não é um framework, e sim uma biblioteca. Há uma certa diferença. Abraço.