Muitas vezes iniciantes no WordPress se encontram estagnados e não conseguem evoluir na resolução de problemas mais complexos e depuração de erros por não conhecerem como o WordPress funciona e seus fundamentos.
O objetivo dessa palestra é apresentar de forma clara e didática uma visão geral dos principais conceitos fundamentais do WordPress que são alicerce para evolução no aprendizado.
Os principais conceitos a serem abordados serão: como acontece a requisição-resposta incluindo Query e Loop, hierarquia de templates, padrão de design do WordPress dirigido a eventos (Plugin API) e básico de desenvolvimento de temas.
1. Como foi seu primeiro contato com o WordPress e o que o ajudou a conhecê-lo melhor?
Já tinha ouvido falar do WordPress há mais tempo mas meu contato real com a ferramenta foi em 2010 através do meu amigo Bruno Brant. Estudávamos Biblioteconomia na UFMG, ele havia fundado junto com outros sócios uma agência digital, a Nauweb, e me convidou a trabalhar com eles. O que me ajudou e foi fundamental para conhecer melhor o WordPress foi a prática, pegar e fazer acontecer. Quando você se compromete com algo não pode ter desculpas nem vacilos. Então comecei a pesquisar e destrinchar o WordPress. Lia muitos blogs, fórums especializados como do framework Hybrid do Justin Tadlock e a documentação no Codex que foram os principais e importantíssimos para minha evolução. Se quer aprender alguma coisa, coloque a mão na massa e pratique constantemente.
2. Quais problemas você teve que resolver e que hoje considera que foram importantes na sua evolução como desenvolvedor?
Na Nauweb tive oportunidades de trabalhar com vários tipos de projetos com requisitos bastante específicos o que me levou a criar soluções customizadas, simples e eficientes. Desde sites com grandes volumes de conteúdo até construir uma plataforma de financiamento coletivo. Também desenvolvemos uma plataforma de concurso de ideias para resolver problemas sociais. Como os projetos demandavam funcionalidades específicas e muitas vezes não achávamos plugins que atendessem ou eram além do que precisávamos, desenvolvíamos nossas próprias soluções.
3. Quais tipos de problemas costumam impedir a evolução do desenvolvedor no uso do WordPress?
Acredito que não conhecer bem o funcionamento da ferramenta, plataforma ou tecnologia para a qual você desenvolve irá limitar suas capacidades e consequentemente sua evolução. Sempre gostei de entender os fundamentos e os porquês das ferramentas e tecnologias que uso (aliás, de tudo na vida rs). Esse é o principal objetivo da minha palestra no WordCamp, ajudar as pessoas a entenderem os fundamentos básicos do WordPress para que possam ter um alicerce sólido e poderem continuar progredindo no aprendizado.
4. O uso excessivo de plugins pode atrapalhar o aprendizado?
Depende. Se você utilizar sempre de plugins para resolver todos problemas que encontrar nos seus projetos você não irá praticar a aprender efetivamente o WordPress. Entretanto existem plugins mais “genéricos” (mas que ao mesmo tempo fornecem funcionalidades avançadas para soluções específicas) que resolvem problemas básicos como por exemplo relacionamento entre Custom Post Types (CPT, que são tipos de conteúdo customizados), criação e manipulação de formulários, gerenciamento de usuários e capacidades etc, que irão lhe auxiliar na sua demanda mas ainda irão lhe “forçar” a integrar e amarrar bem as funcionalidades entre esses plugins e o WordPress, e isso irá lhe acrescentar muito aprendizado.
Vou dar um exemplo para ficar mais claro. Em um projeto, que comentei na segunda pergunta, tive que desenvolver uma plataforma de concurso de ideias para solucionar problemas sociais que envolvia vários tipos de usuários com determinadas capacidades dentro do sistema como participantes e jurados. Também foi necessário a criação de vários CPTs para organizar as ideias enviadas, avaliações e outras estruturas de dados. Não encontrei um plugin específico que atendesse os requisitos do cliente portanto tive que recorrer a plugins que me auxiliassem a resolver pelo menos os problemas básicos de gerenciamento de usuários e capacidades, para isso usei o Members do Justin Tadlock, e precisei de funcionalidades avançadas para criação e manipulação de relacionamentos entre os CPTs, para isso usei o plugin Posts 2 Posts (muito obrigado por essa jóia Scribu!). O desafio então foi integrar bem o WordPress e os recursos desses plugins dentro da lógica da solução que desenvolvemos. E para fazer isso eu precisei pesquisar e estudar muito o que me trouxe grandes aprendizados!
Se o uso de plugins é excessivo ou não e/ou se prejudica ou não o aprendizado é relativo ao projeto. Também não vamos ficar reinventando a roda para plugins que resolvem problemas já bem definidos como por exemplo SEO ou criação de campos personalizados.
5. De que maneira a familiaridade com o PHP pode ajudar o desenvolvedor no seu trabalho com o WordPress?
A familiaridade com o PHP é fundamental para quem quer trilhar o caminho do desenvolvimento para WordPress já que o mesmo é escrito com essa linguagem. Infelizmente, não tem como fugir dela 😉
6. Por que o desenvolvedor deve tentar diminuir ao máximo o número de requisições ao banco de dados?
O principal gargalo e mais comum aos sistemas de gerenciamento de conteúdo (CMS) são as requisições ao banco de dados. Entregar arquivos estáticos para os servidores web modernos é fácil, rápido e custa pouco em termos de recursos do servidor. Já a requisição do conteúdo ao banco de dados é bem mais demorada e consome mais recursos. O problema é que durante a execução do WordPress são realizadas dezenas, até mesmo centenas, de requisições ao banco de dados, o que irá comprometer a performance da aplicação. Portanto, a forma mais óbvia de melhorar isso (claro que existem outras) é reduzir a quantidade de requisições ao banco de dados e, consequentemente, a importância de entender como esse processo de requisição ao banco de dados (query) acontece dentro do WordPress. Irei abordar o assunto dentro da minha palestra e espero contribuir para melhorar o entendimento dessa área.
Ainda não fez sua inscrição? Clique aqui e se inscreva.