Smashing Wordpress - Além Do Blog
May 8, 2017 | Author: yurisalmeida | Category: N/A
Short Description
Livro de Eric Meyer sobre wordpress...
Description
Segunda Edição
Thord Daniel Hedengren
SMASHING
WordPress TÉCNICAS PROFISSIONAIS PARA UM LAYOUT MODERNO ALÉM DO BLOG
H452s Hedengren, Thord Daniel. Smashing WordPress [recurso eletrônico] : além do blog / Thord Daniel Hedengren ; tradução: Mariana Bandarra ; revisão técnica: Diego Eis. – 2. ed. – Dados eletrônicos. – Porto Alegre : Bookman, 2012. Editado também como livro impresso em 2012. ISBN 978-85-407-0174-8 1. Programa de computador – WordPress – Web design. I. Título. CDU 004.4WordPress Catalogação na publicação: Ana Paula M. Magnus – CRB 10/2052
SMASHING
WordPress ALÉM DO BLOG Segunda Edição
Thord Daniel Hedengren Tradução:
Mariana Bandarra Revisão técnica:
Diego Eis Palestrante e criador do tableless.com.br
Versão impressa desta obra: 2012
2012
Obra originalmente publicada sob o título Smashing WordPress – Beyond the Blog, 2nd edition ISBN 978-1-119-99596-8 Copyright ©2011 John Wiley & Sons,Ltd. All Rights Reserved. Authorized translation from the English language edition published by John Wiley & Sons Limited. Responsibility for the accuracy of the translation rests solely with Grupo A Educação S.A. and is not the responsibility of John Wiley & Sons Limited. No part of this book may be reproduced in any form without the written permission of the original copyright holder, John Wiley & Sons Limited. Tradução autorizada a partir do original em língua inglesa da obra publicado por John Wiley & Sons Limited. A responsabilidade pela exatidão da tradução é de inteira responsabilidade da Grupo A Educação S.A. Este livro não poderá ser reproduzido nem em parte nem na íntegra em qualquer meio sem permissão da John Wiley & Sons Limited. A edição em língua portuguesa desta obra é publicada por Bookman Companhia Editora Ltda, uma divisão do Grupo A, Copyright © 2012. Capa: VS Digital, arte sobre capa original Leitura final: Igor Campos Dutra Gerente Editorial – CESA: Arysinha Jacques Affonso Editora responsável por esta obra: Mariana Belloli Cunha Editoração eletrônica: VS Digital
Reservados todos os direitos de publicação, em língua portuguesa, à Bookman® Companhia Editora Ltda., uma divisão do Grupo A Educação S.A. Av. Jerônimo de Ornelas, 670 - Santana 90040-340 Porto Alegre RS Fone (51) 3027-7000 Fax (51) 3027-7070 É proibida a duplicação ou reprodução deste volume, no todo ou em parte, sob quaisquer formas ou por quaisquer meios (eletrônico, mecânico, gravação, fotocópia, distribuição na Web e outros), sem permissão expressa da Editora. SÃO PAULO Av. Embaixador Macedo Soares, 10.735 - Pavilhão 5 - Cond. Espace Center Vila Anastácio 05095-035 São Paulo SP Fone (11) 3665-1100 Fax (11) 3667-1333 SAC 0800 703-3444 IMPRESSO NO BRASIL PRINTED IN BRAZIL
CAPÍTULO 1: FERRAMENTAS
Há muita gente envolvida na escrita de um livro. Amigos, família, amores e animais de estimação, sem falar nos pacientes editores – todos tiveram algum tipo de influência, pois precisaram me aturar durante esse período um tanto agitado. Eu poderia dedicar este livro a qualquer um deles, ou a membros da família que já se foram e que definiram quem sou hoje. No entanto, não farei isso. Este livro é dedicado à maravilhosa comunidade WordPress. Sem ela, não haveria WordPress, e sem WordPress, este que vos fala não teria escrito livro algum. Na verdade, se não fosse pelo WordPress especificamente, e pelo código aberto em geral, eu provavelmente estaria fazendo algo totalmente diferente hoje em dia. É preciso amar o WordPress. Eu com certeza amo. Thord Daniel Hedengren
CAPÍTULO 1: FERRAMENTAS
O autor Thord Daniel Hedengren é um viciado em palavras, razão pela qual lançou sua primeira newsletter on-line em 1996. A partir de então, tudo foi ladeira abaixo, com dezenas de sites e uma carreira como editor e freelancer na Suécia e no exterior. Sua atuação internacional começou com uma postagem em um blog, que lhe rendeu um contrato com a Wiley para lançar um livro, o que por sua vez resultou no livro Smashing WordPress: Além do Blog e em seu sucessor Smashing WordPress Themes: Making WordPress Beautiful, tornando-o uma voz ainda mais forte na comunidade WordPress. O que você tem nas mãos é a segunda edição do sucesso de crítica Smashing WordPress: Além do Blog. Na verdade, isso é apenas o começo, já que aquela obsessão pelas palavras leva Thord estar sempre fazendo algo novo. Quando não está nutrindo sua obsessão pelas palavras, Thord e seus amigos constroem sites usando o WordPress em seu escritório de Web design, Odd Alice. Ele também edita revistas e escreve artigos como freelancer para publicações impressas e na Web, tanto em Sueco quanto em Inglês. Você pode acompanhar tudo que Thord faz em http://tdh.me. Thord vive na terra dos reis, a Suécia.
VII
Sumário Introdução:
1
PARTE I:
INTRODUÇÃO AO WORDPRESS
5
Capítulo 1:
Anatomia de uma Instalação de WordPress Instalação básica Método de instalação guiada Método de instalação manual Usando um servidor externo de banco de dados Outras configurações de banco de dados Um breve comentário sobre instaladores Movendo a instalação de WordPress para um diretório diferente Modificando o banco de dados Aprendendo o lugar de tudo Corrigindo problemas modificando o banco de dados Fazendo backup Trocando de serviço de hospedagem Usando as ferramentas de exportação e importação Quando exportar/importar não funciona Como tornar sua instalação de WordPress mais segura Usuários e senhas Medidas de segurança no lado do servidor Olhando para a frente
7 8 8 10 11 12 12 13 14 15 15 16 18 18 19 21 22 22 23
Capítulo 2:
Sintaxe do WordPress WordPress e PHP WordPress Codex Sobre o núcleo do WordPress Temas e arquivos de modelo Usando as template tags Include tags Passagem de múltiplos parâmetros para uma template tag Mais sobre parâmetros Compreendendo tipos de dados Conditional tags A seguir: o loop
25 26 26 26 27 30 31 32 35 35 37 38
Capítulo 3:
O Loop Compreendendo o loop do WordPress O loop básico Separando o loop usando o arquivo de modelo loop.php
39 40 40 41
SUMÁRIO Um breve comentário sobre WP_Query Usando o loop Usando postagens fixas Trabalhando com formatos de postagem Obtendo o máximo de query_posts() Alternativas ao loop Múltiplos loops Postagens em destaque com múltiplos loops Três é demais, mas quatro loops são o máximo Usando campos personalizados Conceitos básicos de campos personalizados Publicando imagens de cabeçalho Habituando-se a usar o loop
42 42 49 52 54 56 57 58 60 63 63 64 66
PARTE II: DESIGN E DESENVOLVIMENTO DE TEMAS DE WORDPRESS
67
Capítulo 4:
Fundamentos dos Temas de WordPress Fundamentos de um tema Elementos do tema básico Um breve comentário sobre o código Uma visita guiada pelo tema Notes Blog Folha de estilo: style.css Cabeçalho do tema: header.php Modelo principal: index.php Loop: loop.php Barra lateral: sidebar.php Comentários: comments.php Rodapé: footer.php O importantíssimo arquivo functions.php Entendendo os arquivos de modelo Quando usar quais arquivos de modelo? Hierarquia de modelos Modelos de página Modelo 404 Usando functions.php Configurando a largura padrão Inserindo material promocional com functions.php Entendendo os widgets e como usá-los Declarando widgets Múltiplas áreas de widget Personalizando widgets Melhorando a aparência dos comentários Discussão nos comentários Destacando autores Adicionando campos personalizados Usos comuns X
69 70 70 72 72 73 76 79 80 84 85 87 89 97 98 99 100 102 104 105 106 107 107 108 108 109 110 112 112 112
SUMÁRIO O fator de usabilidade Desenvolvendo um tema base Lançando um tema Checklists de temas Temas comerciais e a licença GPL Submetendo um tema para wordpress.org Para ir mais longe com temas
113 114 115 115 118 118 120
Capítulo 5:
O Conceito de Tema Filho O brilhantismo dos temas filhos Como os temas filhos funcionam O maravilhoso modelo loop.php Temas filhos para eventos O outro lado da herança Problemas comuns para manter em mente Gerenciando diversos sites usando temas filhos Gerenciando o design de múltiplos sites Não esqueça do functions.php E as estruturas de temas? Para levar seus temas um passo além
121 122 122 126 126 127 128 128 129 129 130 130
Capítulo 6:
Uso Avançado dos Temas Esboço do tema Regra nº 1: Estilo por categoria, classificação por tag, ajustes com formatos de postagem Regra nº 2: Pense bem nos campos personalizados Regra nº 3: Construção com páginas, expansão com post types personalizados É só isso? Técnicas individuais de estilo Aplicando estilo às postagens Estilos com body class Postagens fixas Funções personalizadas mais sofisticadas Menus personalizados Cabeçalhos personalizados Imagem de fundo personalizada Dominando os ganchos de ação Usando ganchos Criando seus próprios ganchos de ação Revisitando o Notes Blog Usando taxonomias Páginas de opções do tema Criando uma página de admin simples Problemas com opções de tema Suporte a múltiplos idiomas
131 132
XI
133 133 134 134 134 135 137 139 140 140 140 141 142 142 143 144 146 151 152 153 154
SUMÁRIO Trabalhando com arquivos de idioma A questão do nome Design condicional Trabalhando com feeds RSS Os feeds de WordPress Construindo uma URL personalizada para um feed Implementações básicas de SEO Enxugando o WordPress no lado do tema Temas versus plug-ins
155 156 156 159 159 160 161 163 164
PARTE III
USANDO PLUG-INS COM WORDPRESS
165
Capítulo 7:
Anatomia de um Plug-in de WordPress Fundamentos básicos de um plug-in Métodos para incorporar seus plug-ins Usando ganchos Criando suas próprias template tags Funções pluggable Funcionalidades obrigatórias para plug-ins Configurações de plug-in Conteúdo do banco de dados e desinstalação Depois da desinstalação Adicionando suporte a widgets para plug-ins Criando um widget Widgets do painel de controle Considerações sobre plug-ins que usam o banco de dados Compatibilidade reversa para plug-ins Plug-ins e multisites de WordPress Desenvolvendo plug-ins para multisites Plug-ins “site-wide” no WordPress Hospedando seus plug-ins em wordpress.org Um alerta final sobre a criação de plug-ins
167 168 170 170 171 172 173 173 177 178 179 180 182 184 184 185 186 186 187 188
Capítulo 8:
Plug-ins ou functions.php? Quando usar um plug-in Expandindo a funcionalidade com plug-ins Cuidado: os plug-ins podem tornar seu site mais lento Quando usar functions.php Soluções com temas filhos Planejamento para funcionalidade expandida em seu site de WordPress
189 190 190 190 191 192 192
Capítulo 9:
Plug-ins de WordPress Essenciais Plug-ins com foco no conteúdo Plug-ins de mídia Plug-ins administrativos Plug-ins para gerenciamento de spam e comentários
193 194 195 196 201
XII
SUMÁRIO
PARTE IV:
Plug-ins de redes sociais Plug-ins de assinatura e dispositivos móveis Plug-ins de SEO e busca Plug-ins de código e saída Uma última ressalva: você realmente precisa daquele plug-in?
203 204 205 207 208
RECURSOS E FUNCIONALIDADES ADICIONAIS
209
Capítulo 10: WordPress como CMS O WordPress é sua melhor opção de CMS? Checklist de WordPress como CMS Enxugando o WordPress ao máximo Ajustando a interface de admin Seu próprio tema de admin “Desblogando” o WordPress A combinação perfeita para um site estático simples Fazendo mais que o básico Utilidades para post types personalizados e taxonomias em um CMS de WordPress Usando o melhor dos Widgets em um CMS Gerenciando menus Shortcodes personalizados Adicionando shortcode com functions.php Destacando texto com citações Trechos de shortcode Integrando conteúdo externo ao WordPress Não esqueça de incluir um manual Uma última consideração sobre o uso do WordPress como CMS
211 212 213 214 214 215 216 217 219
Capítulo 11: Integrando a Web Social Integrando o Facebook ao seu site Botão Curtir Widgets de perfil Integrando o Twitter Adicionando botões e widgets do Twitter Usando o método da API para exibir seus “tweets” Expansões do Twitter para sites Lifestreaming com WordPress Configurando um lifestream Sobre tarefas agendadas Disseminando seu conteúdo com botões de envio na Web social Usando plug-ins Modificando seus próprios links de envio Usando uma solução de comentários hospedada Usando logins unificados A importância da Web social
229 230 230 231 232 232 234 235 236 236 238 239 239 240 242 243 244
XIII
219 220 221 222 222 224 224 225 227 227
SUMÁRIO Capítulo 12: Truques de Design Mais controle sobre suas postagens Design baseado em tags Usando campos personalizados Adicionando sua própria taxonomia Melhorando o menu Sliding doors Pensando sobre o efeito hover nos menus Posicionando anúncios dentro do loop Criando páginas de 404 para ajudar o visitante Usando bibliotecas de JavaScript com WordPress WordPress do seu jeito Formulário de login personalizado Temas de Admin Melhorando seu site de WordPress
245 246 246 247 249 249 250 252 253 255 255 256 257 258 259
Capítulo 13: Diversão com Imagens Trabalhando com galerias de imagens Aplicando estilos à galeria Navegando melhor com o efeito lightbox Usando scripts e sistemas externos Randomizando elementos de imagens Exibindo imagens aleatórias a partir de suas galerias Mais opções de imagens randomizadas Aproveitando ao máximo os serviços de compartilhamento de imagens Publicando a partir do Flickr Usando o slideshow do Flickr Cuidado com a poluição
261 262 263 265 267 267 268 269 270 271 273 274
Capítulo 14: Funcionalidades Adicionais Caixas com abas Utilização inteligente Com ou sem abas? Exibindo feeds RSS O parser integrado Quando usar a solução de widget Múltiplos feeds com SimplePie Enviando e-mail com WordPress Adicionando um formulário de login Blogs para impressão E muito mais...
275 276 276 278 279 280 281 281 282 283 285 286
Capítulo 15: Utilizações Incomuns do WordPress Trabalhando com conteúdo enviado pelos usuários Sobre o quadro de vagas de emprego O conceito
287 288 288 289
XIV
SUMÁRIO Recebendo as vagas Desenvolvimento adicional Usando o WordPress como uma base de conhecimento do tipo FAQ Adicionando a funcionalidade Melhorias adicionais WordPress e comércio eletrônico Usando o WordPress para criar uma loja na Web Vendendo produtos digitais Desenvolvendo para comércio eletrônico Construindo um diretório de produtos Criando o post type para livros Página de livros Exibindo os produtos Construindo um site de links Alternativa: formato de postagem link Algumas ideias de utilização Misturando postagens de link com conteúdo tradicional Explorando a galeria Modelo da categoria Sobre os álbuns Outras utilidades E as imagens em destaque? Formato de postagem galeria Um breve adendo: outras utilidades para o WordPress Página de eventos e calendário Intranets e colaboração Comunidades e fóruns Bancos de dados Sites estáticos Você pode construir o que quiser Índice
294 295 296 297 298 299 299 300 300 301 301 302 306 307 309 309 310 311 312 316 318 318 319 319 319 319 320 320 321 321 323
XV
Introdução Escrever um livro sobre WordPress não é a tarefa mais fácil que alguém poderia enfrentar. Quando meu editor e eu começamos a discutir sobre esse projeto, a ideia era criar algo que funcionasse não apenas como uma introdução para desenvolvedores Web e profissionais que quisessem utilizar o poder da plataforma WordPress, mas também como uma forma de estimular a mente das pessoas para ajudá-las a criar coisas além do óbvio. Em outras palavras, fazê-las se aventurar além do blog, como sugere o subtítulo do livro. O objetivo é, na verdade, provar que o WordPress é muito mais que uma plataforma para publicação de blogs. É possível construir praticamente qualquer coisa usando o Wordpress, e essa é uma excelente ideia se você gosta de sites que carregam rápido e oferecem excelente flexibilidade. Nem sempre o Wordpress é a opção perfeita, mas é sempre uma boa ideia levar essa opção em consideração. A facilidade para desenvolver e usar essa plataforma é uma de suas maiores vantagens, assim como a comunidade ativa que pode ajudá-lo quando você tiver problemas e o fato de que trata-se do que há de melhor em código aberto. Embora eu acredite que qualquer pessoa com algum conhecimento de HTML, CSS e/ou PHP possa aprender WordPress com este livro, é importante lembrar que este não é um livro para iniciantes. Começamos em um ritmo já bastante acelerado para garantir que mesmo os profissionais entendam bem os fundamentos básicos. É muito fácil se manter em um território familiar e fazer as coisas do jeito que elas sempre foram feitas, em vez de aprender a fazer as coisas do jeito certo. E, embora um conhecimento básico aqui possa ajudar qualquer um a começar a usar o WordPress, é realmente necessário saber um pouco de HTML e CSS, e ter, no mínimo, uma ideia do que é PHP e do que essa linguagem faz. Se esses conceitos são estranhos para você, recomendo fortemente ler sobre eles primeiro. Dito isso, Smashing WordPress: Além do Blog foi realmente escrito com a ideia de que qualquer um com a formação adequada possa aprender a usar o WordPress e levar a plataforma para além do óbvio. Quando você terminar este livro, estará pronto para desenvolver praticamente qualquer coisa usando o WordPress. Para transmitir essa mensagem, Smashing WordPress: Além do Blog está dividido em quatro partes.
PARTE I: INTRODUÇÃO AO WORDPRESS A primeira parte aborda os fundamentos essenciais do WordPress, desde a instalação até o que realmente faz o sistema dar o seu melhor. Essa primeira parte oferece tudo o que você precisa para começar a usar o WordPress, ainda que em ritmo um pouco mais rápido do que os livros tradicionais, para iniciantes. No entanto, os assuntos abordados não param por aí, pois há muito mais que você precisa saber na hora de começar a usar o WordPress, como, por exemplo, medidas de segurança, instalação, etc. A ideia é não apenas ajudar quem está
INTRODUÇÃO começando, mas também esclarecer os problemas e opções disponíveis para quem já usa a plataforma.
PARTE II: DESIGN E DESENVOLVIMENTO DE TEMAS DE WORDPRESS Os temas de WordPress são o que o usuário vê; eles são a “pele” do seu site, e são eles que controlam a forma como o conteúdo é apresentado. Quando você trabalha com um site que roda em WordPress, investe bastante tempo alterando os arquivos de temas para que o WordPress faça o que você quer. Essa segunda parte apresenta não apenas as características técnicas dos temas, mas também o conhecimento necessários para você começar a construir seu próprio tema.
PARTE III USANDO PLUG-INS COM WORDPRESS A terceira parte trata inteiramente do desenvolvimento de plug-ins para WordPress. O fato de você poder expandir o WordPress com plug-ins significa que não há realmente limites para o que essa plataforma pode fazer por você. Quase qualquer coisa que funciona em PHP pode rodar em WordPress, e isso significa também que essa parte do livro é altamente conceitual e que trata da comunicação básica entre o seu plug-in (que é, na verdade, o seu código PHP) e o WordPress em si.
PARTE IV: RECURSOS ADICIONAIS E FUNCIONALIDADES A quarta parte é dedicada ao uso de WordPress para outros propósitos que não o de manter um blog. Aqui você verá como usar o WordPress como sistema de gerenciamento de conteúdo (CMS) para alimentar sites mais tradicionais e construirá sites partindo do zero, para provar que a plataforma pode realmente fazer mais do que apenas rodar sites com aparência de blogs. Você também verá alguns plug-ins que podem ajudá-lo a tirar o máximo da plataforma WordPress . Às vezes você não precisa desenvolver coisas do zero; alguém pode já ter feito isso para você e disponibilizado o plug-in gratuitamente na Web. A ideia principal dessa parte é mudar a forma como você pensa sobre o WordPress. O objetivo é romper com a ideia de que o WordPress é apenas uma plataforma para blogs. Ele é simplesmente uma plataforma de publicação. Nessa parte, você também vai encontrar uma seleção de truques bacanas e técnicas que pode utilizar para aprimorar ainda mais seu site. Muito do que você pode precisar para seus projetos de WordPress pode já ter sido feito, e essa parte aborda rapidamente essa questão.
2
INTRODUÇÃO
COMECE A PENSAR, COMECE A PUBLICAR! Smashing WordPress: Além do Blog foi escrito pensando em desenvolvedores Web, mas qualquer um que tenha alguma experiência com (X)HTML, CSS, PHP e WordPress pode se beneficiar deste livro. É realmente muito fácil começar a usar o WordPress, e o Wordpress é tudo o que você precisa para começar a criar seus projetos. Depois disso, você vai precisar trabalhar um pouco, modificando ou construindo temas e criando os plug-ins necessários para desenvolver o site que você imaginou. Em outras palavras, comece a pensar e comece a publicar com WordPress, não importa se você está desenvolvendo o próximo Engadget ou Huffington Post, ou algo completamente diferente.
3
I PARTE
I
INTRODUÇÃO AO WORDPRESS Capítulo 1: Anatomia de uma Instalação de WordPress Capítulo 2: Sintaxe do WordPress Capítulo 3: O Loop
1
1 CAPÍTULO
SMASHING WORDPRESS
ANATOMIA DE UMA INSTALAÇÃO DE WORDPRESS
A INSTALAÇÃO DO WORDPRESS não é difícil ou demorada, e as instruções disponíveis em wordpress.org são mais que o suficiente para guiar você pela instalação básica. Com o conhecimento adicional que você encontrará neste capítulo,
no entanto, poderá turbinar sua configuração do WordPress com temas e plug-ins. O WordPress constitui a estrutura geral do site, mas os temas e plug-ins são o que realmente fazem a plataforma dar o melhor de si.
PARTE I: INTRODUÇÃO AO WORDPRESS Lembre-se de que, para os propósitos deste livro, “WordPress” se refere à versão autônoma do WordPress, disponível gratuitamente em wordpress.org. Não confunda esta versão com a versão para múltiplos usuários, chamada WordPress MU (sobre a qual falaremos brevemente depois) ou com a versão Automattic, disponível em wordpress.com. Este livro é focado na versão principal disponível em wordpress.org, e mais especificamente na versão 3.1.
INSTALAÇÃO BÁSICA Instalar o WordPress é muito fácil; toda aquela conversa de “instalação em cinco minutos” é verdade mesmo. Na verdade, a única razão para a instalação levar tanto tempo é o fato de que o upload dos arquivos pode demorar, devido à lentidão da conexão com a Internet ou do serviço de hospedagem. Como é provável que você já tenha uma certa experiência com a instalação básica do WordPress, seremos breves. Em primeiro lugar, certifique-se de que o seu sistema atende aos requisitos mínimos. Os requisitos mais recentes podem ser encontrados em http://wordpress.org/about/ requirements/. Se o seu serviço de hospedagem suporta a linguagem PHP 4.3 ou versões superiores, e roda MySQL 4.0 ou versões superiores, você está bem equipado. No entanto, é preciso certificar-se de que seu host tem mod_rewrite instalado, uma vez que isso será necessário para melhorar a aparência dos links. Existem duas formas de instalar a plataforma WordPress: a forma guiada e a forma manual. Uma terceira forma é a instalação em um clique oferecida por alguns serviços de hospedagem Web. A instalação em um clique será brevemente descrita mais adiante neste capítulo.
MÉTODO DE INSTALAÇÃO GUIADA O WordPress é um dos sistemas de publicação de código aberto mais fáceis de se colocar em funcionamento. Basta fazer o download da versão mais recente do WordPress (em http:// wordpress.org/download/), extrair o arquivo compactado (geralmente você irá fazer o download de um arquivo zip) e então fazer o upload dos arquivos dentro da pasta do wordpress para o local onde você deseja instalar o WordPress, utilizando FTP. Por exemplo, se você quiser instalar o WordPress em meusite.com, basta fazer o upload dos arquivos para a pasta raiz de meusite.com. Direcione seu navegador para o diretório de instalação (que seria http://meusite.com, no nosso exemplo) e forneça as informações solicitadas, como mostra a Figura 1-1. Você vai precisar do seu nome no banco de dados, nome de usuário e senha, e possivelmente também do endereço para o servidor de banco de dados se você ou o seu serviço de hospedagem possui um endereço externo. Clique em Submit para ir até a configuração do site, como mostra a Figura 1-2. Nesta tela, preencha o nome do site, as credenciais desejadas para a conta de administrador, e assim por diante. Certifique-se de usar um endereço de e-mail profissional e de manter o controle de sua senha. Depois de inserir todas as informações solicitadas, clique no botão Install WordPress e você está praticamente pronto. Basta fazer login e o WordPress está instalado e funcionando! 8
CAPÍTULO 1: ANATOMIA DE UMA INSTALAÇÃO DE WORDPRESS A instalação guiada não oferece opções para que o WordPress rode em qualquer idioma diferente do padrão, Inglês. Se quiser que a sua instalação rode em um idioma que não o inglês, consulte o procedimento de instalação manual detalhado na próxima seção.
Figura 1-1: Interface de instalação
Figura 1-2: Preencha os detalhes
9
PARTE I: INTRODUÇÃO AO WORDPRESS MÉTODO DE INSTALAÇÃO MANUAL Para uma instalação manual, você vai precisar do seguinte: A versão mais recente do WordPress (disponível em http://wordpress.org/ download/) Um banco de dados MySQL com um usuário que possua privilégios de escrita (pergunte ao seu serviço de hospedagem caso você não saiba como configurar isso) Seu programa de FTP favorito Para instalar, descompacte o download do WordPress e faça o upload do conteúdo da pasta wordpress, no destino de sua preferência no servidor. Em seguida, abra o arquivo wp-configsample.php e encontre as partes do banco de dados onde você deve preencher seu nome, nome de usuário e senha com privilégios de escrita. Esta é a aparência de wp-config-sample.php: define('DB_NAME', 'coloqueaquionomedoseubancodedados'); // Nome do banco de dados define('DB_USER', 'nomedeusuárioaqui'); // Seu nome de usuário MySQL define('DB_PASSWORD', 'suasenhaaqui'); // ... e senha define('DB_HOST', 'localhost'); // Há 99% de chance de que você não precise alterar este valor
Em seguida, ainda em wp-config-sample.php, encontre a seção Secret Keys. Essa parte começa com um texto informativo comentado, intitulado «Authentication Unique Keys» (Chaves únicas de autenticação), seguido por quatro linhas onde você irá inserir as chaves secretas de autenticação. Essa é uma função de segurança para tornar sua instalação mais segura e menos vulnerável a hackers. Você só precisa adicionar essas senhas uma vez, e embora seja possível inserir manualmente o valor que você desejar, o wordpress.org oferece um gerador automático que sugere linhas aleatórias cada vez que é carregado. Basta copiar o link (https://api. wordpress.org/secret-key/1.1/) do gerador de seu arquivo wp-config-sample.php e abri-lo no navegador de sua preferência. Você verá uma página contendo um código semelhante a este: define('AUTH_KEY', 'PSmO59sFXB*XDwQ!p3K{TD.tJoM74.Oy5?B@=dF_lcmlB6jm6D|gXnlJ#Z4K,M>E;[ +,22O?Lnarb'); define('LOGGED_IN_KEY', 'c}gR{389F*IG@/V+hg1 45J*H+9i_^HaF;$q(S[5Er[:DVOUjmS@(20E~t0-C*II'); define('NONCE_KEY', 'gz2D:n52|5wRvh)es:8OO|O ufZL@C|G.-w/H-E*}K:ygp4wI*.QHO-mUV_PR|6M');
Copie o conteúdo da página do gerador e utilize esse conteúdo para substituir o seguinte código no arquivo wp-config-sample.php: define('AUTH_KEY', ''); define('SECURE_AUTH_KEY', ''); define('LOGGED_IN_KEY', ''); define('NONCE_KEY', '');
Ao substituir o código com as linhas retiradas da página gerada, você tornou sua instalação um pouco mais protegida daqueles hackers inconvenientes.
10
CAPÍTULO 1: ANATOMIA DE UMA INSTALAÇÃO DE WORDPRESS A última coisa que você talvez queira mudar no arquivo wp-config-sample.php é o idioma. A plataforma WordPress está em inglês (inglês americano, mais precisamente) por padrão. Para alterar o idioma, você precisará fazer o upload de um arquivo de idioma para sua pasta wp-content/language/. Os arquivos de idioma estão em formato .mo;. você pode encontrar a maioria deles em http://codex.wordpress.org/WordPress_in_Your_Language. Você também precisa alterar o seguinte trecho em wp-config-sample.php para avisar o WordPress qual o idioma que você deseja: define ('WPLANG', '');
Você deve adicionar o código do idioma: esse é o mesmo código do arquivo de idioma, sem a extensão do arquivo. Assim, se você deseja que sua instalação seja feita em sueco (a língua dos reis), você pode fazer o download do arquivo sv_SE.mo, fazer o upload para a pasta wp-content/languages/, e, em seguida, passar a língua para a função WPLANG, da seguinte forma: define ('WPLANG', 'sv_SE');
Isso não vai necessariamente fazer os temas ou plug-ins que você utiliza serem exibidos no idioma selecionado, mas o WordPress e suas funcionalidades principais estarão no idioma desejado, assim como qualquer código com suporte a múltiplos idiomas. (Você vai aprender sobre a localização dos temas e plug-ins no Capítulo 6.) E pronto! Renomeie o arquivo wp-config-sample.php para wp-config.php e use seu navegador para indicar o local de sua instalação. Você deverá ver um link que dá início ao procedimento de instalação, onde você preenche o título do blog, o endereço de e-mail do usuário admin e escolhe se quer ou não que o blog seja aberto para indexação por mecanismos de busca (na maioria dos casos essa opção é aceita, mas se você quiser brincar um pouco com o blog primeiro, desative essa opção e volte a ativá-la mais tarde nas configurações). Depois disso, você irá receber um nome de usuário admin e uma senha aleatória (salve esses dados!) e, com alguma sorte, uma mensagem de sucesso, juntamente com um link para o blog. Nada muito complicado, não é mesmo?
USANDO UM SERVIDOR EXTERNO DE BANCO DE DADOS Uma das causas mais comuns de falha na instalação do WordPress é o fato de que o banco de dados MySQL está localizado em um servidor separado. Se você está experimentando erros de conexão com o banco de dados, e tem certeza que tanto o nome de usuário quanto a senha do usuário para o banco de dados estão corretos, e que o usuário possui privilégios de escrita plenos, provavelmente o problema é esse. Para consertar isso, basta encontrar este trecho do código em wp-config.php (ou wp-configsample.php se você ainda não tiver renomeado o arquivo) e alterar o localhost para seu servidor de banco de dados: define('DB_HOST', 'localhost');
O nome do servidor MySQL depende do seu serviço de hospedagem. Pode ser mysql67. thesuperhost.com, ou algo completamente diferente disso. Simplesmente troque localhost por essa informação, e tente novamente executar o script de instalação. 11
PARTE I: INTRODUÇÃO AO WORDPRESS Naturalmente, se você não conseguir encontrar o endereço do servidor de banco de dados, deve entrar em contato com seu serviço de hospedagem para obter esses detalhes.
OUTRAS CONFIGURAÇÕES DE BANCO DE DADOS Talvez você prefira pensar um pouco mais sobre as opções de banco de dados, antes de instalar o WordPress. (Provavelmente não, mas ainda assim, vale a pena falar um pouco sobre o assunto.) Primeiramente, você pode querer mudar o conjunto de caracteres e agrupamento do banco de dados. Essas opções dizem ao WordPress em que codificação de caracteres está o banco de dados, e quase sempre essa linguagem será UTF-8. Essa também é a configuração padrão no arquivo wp-config-sample.php, de modo que você não precisará mexer nessa configuração, a menos que tenha uma necessidade específica. No entanto, caso você tenha uma necessidade específica de alterar essa configuração, encontre o seguinte trecho: define('DB_CHARSET', 'utf8');
Esse é o conjunto de caracteres, cuja configuração padrão é UTF-8 (obviamente, em código, a grafia correta é utf8). Muito provavelmente você não vai (e nem deveria) alterar isso, mas pode haver situações em que precise fazê-lo, então tenha isso em mente, para referência futura. O agrupamento (do inglês, collation) é basicamente a ordem de classificação do conjunto de caracteres que o WordPress aplicará ao banco de dados MySQL durante a fase de instalação, e pode ser alterado nesta linha: define('DB_COLLATE', );
Nesse caso, o campo está vazio, ou seja, o conjunto de caracteres definido em DB_CHARSET será passado como agrupamento. O padrão nesse caso é UTF-8, mas caso você precise de algo específico, pode adicionar o conjunto de caracteres da seguinte forma: define('DB_COLLATE', 'character_set_of_choice');
UM BREVE COMENTÁRIO SOBRE INSTALADORES Alguns serviços de hospedagem oferecem instaladores que colocam seu WordPress em funcionamento com apenas um clique, diretamente a partir da interface de admin do serviço de hospedagem Web. O mais popular desses instaladores em um clique é provavelmente o Fantastico. Em um primeiro momento, uma instalação em um só clique parece uma ótima ideia, pois você não precisará mexer com arquivos de configuração ou qualquer outra coisa; o instalador simplesmente cria o blog e você está pronto para começar. No entanto, tire um tempinho para pesquisar um pouco antes de optar por esse caminho. O aspecto mais importante que você deve considerar é a versão de WordPress para a qual o instalador está configurado. Versões antigas não deveriam ser permitidas porque estão desatualizadas e, na pior das hipóteses, podem representar um risco de segurança. Afinal de contas, a cada nova versão do WordPress, várias falhas de segurança são corrigidas, ou seja, não se trata apenas de lançar novos recursos para a sua plataforma de blogs favorita. 12
CAPÍTULO 1: ANATOMIA DE UMA INSTALAÇÃO DE WORDPRESS Instaladores como o Fantastico são ótimos e podem economizar tempo, caso instalem a última versão da plataforma, de fato. Se você encontrar um que utilize a versão mais recente, ainda assim deve fazer uma pequena investigação para ter certeza de que outros usuários não relataram algum problema sério. Se o caminho está livre e você realmente não quiser fazer a instalação manual de cinco minutos, então vá em frente! Depois de ter instalado o WordPress usando um instalador, você deve usar o recurso de atualização incluído no instalador, ou executar as atualizações manualmente utilizando FTP, caso seu serviço de hospedagem não ofereça suporte às atualizações automáticas. Certifique-se de que o instalador não faça algo estranho durante a instalação que impeça você de realizar atualizações manuais, para que você fique dependendo do script do instalador.
MOVENDO A INSTALAÇÃO DE WORDPRESS PARA UM DIRETÓRIO DIFERENTE Às vezes, você quer colocar sua instalação de WordPress em uma pasta própria. Isso ajuda a evitar a desordem em seu ambiente de hospedagem, removendo todos os arquivos e pastas do WordPress da raiz do domínio, facilitando assim o gerenciamento de seus diferentes empreendimentos na Web. Suponha que você queira adicionar outras instalações de software da Web; você pode ter dificuldade em encontrar os arquivos de que precisa se eles estiverem todos misturados (embora seja de grande ajuda o fato de, nesse nível, tudo que é do WordPress ter o nome wp-alguma coisa). O negócio só fica confuso se você quiser fazer outra coisa além de apenas utilizar o WordPress. A instalação para uma subpasta é exatamente igual à instalação para a raiz de um domínio, por isso não vou entrar em detalhes sobre isso. A ideia é ter a instalação do WordPress em uma subpasta, mas com o blog aparecendo como se estivesse na pasta raiz, mantendo a pasta raiz no servidor limpa. Você pode instalar o WordPress diretamente em uma subpasta, ou instalá-lo na pasta raiz e mover os arquivos para uma subpasta. Você decide como vai lidar com isso; ambas as maneiras são fáceis. As instruções a seguir partem do pressuposto de que você já tenha instalado o WordPress em sua pasta raiz e agora deseja movê-lo para uma subpasta. Por exemplo, suponha que você tenha o WordPress instalado na pasta raiz (domain.com), e queira mover a instalação para uma subpasta chamada wpsystem, mantendo o site em si na raiz. Isso significa que quando as pessoas visitarem domain.com, elas verão seu site de WordPress, mas quando você fizer o login para gerenciar o site, você fará isso dentro da pasta wpsystem (ou domain.com/ wpsystem/wp-admin/, para ser preciso). Você deve configurar os links permanentes antes de fazer isso, uma vez que eles devem funcionar independentemente de você usar ou não uma subpasta. As opções de links permanentes, mostradas na Figura 1-3, podem ser encontradas em Settings → Permalinks. Para mover a sua instalação WordPress para o novo diretório, primeiramente crie a pasta wpsystem. Em seguida, vá até a página General Settings e altere o campo URL do endereço de WordPress para http://domain.com/wpsystem para que ele reflita sua nova pasta, e o campo URL do endereço do Blog para http://domain.com, onde você quiser que seu site esteja. Então, clique no botão Update e mova todos os arquivos de WordPress para seu novo diretório em http://domain.com/wpsystem, exceto os arquivos index.php e .htaccess, que devem permanecer onde você quer deixar seu site (http://domain.com). 13
PARTE I: INTRODUÇÃO AO WORDPRESS
Figura 1-3: A seção de configuração geral General Settings se encontra em General, na seção Settings da interface de admin
Quando os arquivos tiverem sido movidos, abra index.php e localize o seguinte trecho de código: require('./wp-blog-header.php');
E substitua-o por este: require('./wpsystem/wp-blog-header.php');
Como você pode ver, o código agora aponta para a pasta wpsystem e para o arquivo wp-blogheader.php. Faça login na interface de admin do WordPress (que agora está em domain.com/ wpsystem/wp-admin/), atualize os links permanentes, e está pronto.
MODIFICANDO O BANCO DE DADOS Na maioria das vezes, você não precisa se preocupar com o banco de dados; o WordPress cuida disso para você. Às vezes, ocorrem mudanças no banco de dados entre versões, mas as atualizações do programa cuidarão de tudo, e afora manter um backup atualizado do seu próprio conteúdo, o banco de dados é capaz de cuidar muito bem de si mesmo. Dito isso, se algo der errado, talvez você precise fazer algumas edições no banco de dados para corrigir o problema. As questões mais comuns dizem respeito a redefinir senhas, URLs estranhas ocasionadas por arquivos movidos, mudanças no nome de domínio e questões relacionadas a widgets.
14
CAPÍTULO 1: ANATOMIA DE UMA INSTALAÇÃO DE WORDPRESS Uma advertência: antes de prosseguirmos, você deve lembrar que fazer alterações no banco de dados é coisa séria. Aqui não há como desfazer ações, o que é excluído é excluído para sempre. Mesmo que você saiba o que está fazendo, deve sempre fazer um backup antes de alterar algo. Se você não entende de MySQL e PhpMyAdmin, não mexa no banco de dados. Você vai estragar as coisas.
APRENDENDO O LUGAR DE TUDO Se orientar com o banco de dados de WordPress é muito fácil. Ele é composto por onze tabelas, que por sua vez estão preenchidas por conteúdo. Basta navegar pelo banco de dados para responder a maioria das suas perguntas, e eventuais edições podem ser feitas ali mesmo, se você souber o que está procurando. Naturalmente, há uma descrição completa do banco de dados na documentação (http://codex.wordpress.org/Database_Description) e você deve consultar esse material sempre que necessário. As onze tabelas principais são wp_comment: metadados de comentários wp_comments: contém todos os comentários wp_links: contém os links adicionados e dados sobre os links wp_options: as opções do blog wp_postmeta: metadados das postagens wp_posts: as postagens de fato wp_terms: categorias e tags wp_term_relationships: associa categorias e tags às postagens wp_term_taxonomy: descrições das categorias e tags wp_usermeta: metadados de usuário wp_users: os usuários de fato
Todas essas tabelas são importantes, é claro, mas se você precisar corrigir ou alterar algo diretamente no banco de dados, há uma boa chance de que seja em wp_options (para configurações do blog, como URLs, etc.), wp_posts (para editar suas postagens em massa), ou wp_users (para redefinir senhas, etc.).
CORRIGINDO PROBLEMAS MODIFICANDO O BANCO DE DADOS Um dos problemas mais comuns que ocorre quando o WordPress é atualizado para uma nova versão é que os widgets às vezes enlouquecem, deixando apenas uma página em branco no seu blog. Embora isso pareça ser bem menos comum nas versões mais recentes de WordPress, as instruções de atualização ainda recomendam que você desabilite todos os plug-ins e retorne ao tema padrão. Se você seguir essa recomendação, provavelmente nunca acabará com aquela página em branco. No entanto, se você acabar com uma página em branco, o problema muito provavelmente está nos widgets. Uma solução possível é limpar os widgets do banco de dados; eles estão escondidos na tabela wp_options. O procedimento exato que você deve realizar e os nomes dos diversos widgets 15
PARTE I: INTRODUÇÃO AO WORDPRESS dependem dos plug-ins que você tem, por isso proceda com cuidado. Muito provavelmente os dados terão nomes que parecem logicamente relacionados aos plug-ins que você utiliza, e tendo isso em mente você deve conseguir encontrar o que está procurando. Isso pode parecer um tanto perigoso, mas vale a pena tentar, caso se depare com uma tela em branco em seu blog depois de uma atualização para uma nova versão. Se você precisar de ajuda, os fóruns de suporte em wordpress.org são um excelente recurso. Outro problema que você pode querer solucionar no banco de dados é alterar ou redefinir a senha de um usuário. Você não pode recuperar de fato a senha do banco de dados, uma vez que ela é criptografada e tudo que vai ver é uma confusão de caracteres embaralhados, mas você pode alterar a senha perdida para uma nova. Apenas lembre-se de que as senhas precisam de tratamento MD5, o que pode ser feito através do PhpMyAdmin ou em virtualmente qualquer ferramenta de gerenciamento MySQL que você utilizar. Basicamente, o que você precisa fazer é digitar a nova senha em texto simples, e selecionar MD5 para esse campo específico. Você vai acabar com uma nova linha de caracteres embaralhados, que realmente corresponde ao que acabou de digitar. Mais uma vez, se isso soa assustador para você, não faça nada antes de aprender mais! Finalmente, você pode querer editar em massa as suas postagens. Talvez você tenha comprado um novo domínio e queira alterar o local de origem de todas as imagens que usou ao longo dos anos, de olddomain.com/wp-content/image.jpg para newdomain.com/ wp-content/image.jpg, por exemplo. Existem plug-ins que podem ajudar nisso, de modo que você provavelmente deve começar por aí. Porém, se você se sente confortável trabalhando com o banco de dados, pode executar uma consulta SQL para buscar todos esses elementos e substituí-los pelos novos. Poderia ser algo como: UPDATE wp_posts SET post_content = REPLACE ( post_content, 'olddomain.com/wp-content/', 'newdomain.com/wp-content/');
Esse código buscaria, na tabela wp_posts, qualquer menção a olddomain.com/ wp-content/ e substituiria o local por newdomain.com/wp-content/. Isso, por sua vez, corrigiria todos os links de imagem no exemplo. Essas consultas SQL bacanas podem ser muito práticas na hora de editar postagens em lote, mas lembre-se de que não é possível desfazer sua ação aqui; o que está feito está feito, por isso certifique-se de que você tem um backup do banco de dados antes de sequer pensar em fazer essas coisas.
FAZENDO BACKUP Qualquer um que já perdeu dados em uma falha de disco rígido ou evento semelhante sabe da importância de fazer backup, e não preciso nem dizer que isso se aplica também ao seu conteúdo on-line. O backup de WordPress é na verdade um processo em duas etapas, uma vez que seu blog é composto por um banco de dados (com todo o conteúdo) e por arquivos estáticos (uploads de imagens e outros anexos). E além disso você tem seu tema, seus plug-ins, etc., que você pode ou não ter alterado, mas ainda assim não quer perder, pois isso significaria precisar agrupar tudo isso novamente. Na verdade, com a inclusão de atualizações automáticas dentro da interface de admin do WordPress (um grande recurso por si só), ter backup dessas coisas se tornou ainda mais importante.
16
CAPÍTULO 1: ANATOMIA DE UMA INSTALAÇÃO DE WORDPRESS Os únicos elementos que você pode perder sem causar muitos problemas são os arquivos principais do WordPress. Você sempre pode fazer novamente o download desses arquivos, embora possa ser uma boa ideia manter uma cópia do arquivo wp-config.php em um local seguro. Há diversas opções disponíveis para suas necessidades de backup de banco de dados. A mais óbvia seria utilizar uma interface Web, como PhpMyAdmin, e simplesmente fazer o download de um arquivo compactado contendo os dados. No entanto, você deve lembrar de fazer isso regulararmente, o que pode ser um problema. Além disso, PhpMyAdmin e outras interfaces semelhantes para gerenciamento de banco de dados não são exatamente as soluções mais amigáveis, e a maioria de nós prefere não mexer com o banco de dados a não ser quando realmente necessário. Seja bem-vindo ao mundo maravilhoso dos plug-ins de WordPress, especificamente um plug-in chamado wp-db-backup. Esse plug-in, que é abordado em detalhes no Capítulo 9, vai permitir que você defina regras diferentes para backups de banco de dados, e que seus plug-ins sejam armazenados em um servidor, enviados por e-mail para você, ou salvos através de outro método de backup, em intervalos regulares. Esse é o conteúdo do banco de dados – passemos agora aos arquivos estáticos. Essa parte é muito simples: basta realizar o backup da pasta wp-content. Essa pasta contém todos os seus uploads (imagens, vídeos e outros arquivos que estão anexados a postagens do seu blog), juntamente com seus temas e plug-ins. Na verdade, essa é a única parte na instalação do WordPress na qual você deveria mexer, fora o arquivo wp-config.php, o arquivo .htaccess, e possivelmente o arquivo index.php na pasta raiz. O backup da pasta wp-content salva todos os seus arquivos estáticos, temas, plug-ins, etc., desde que você não tenha ajustado alguma configuração personalizada para armazenar dados fora dessa pasta. Então, como fazer o backup de wp-content? Infelizmente, o método mais simples de backup, que naturalmente seria fazer o download da pasta usando um programa de FTP, requer que você se lembre de fazê-lo. Alguns serviços de hospedagem Web possuem scripts embutidos que podem enviar arquivos backup para locais de armazenamento externo, como Amazon S3 ou qualquer servidor FTP. Essa é uma forma barata de garantir a segurança de seu dados estáticos, mas é algo que você deve realmente investigar, e não simplesmente confiar em lembrar de fazer você mesmo o download via FTP. Na verdade, essas soluções embutidas muitas vezes gerenciam também o banco de dados, de modo que você pode configurar um backup também para ele. Afinal de contas, é melhor prevenir do que remediar. O último recurso, e última esperança caso o pior aconteça durante a instalação, é a solução de backup do próprio serviço de hospedagem. Não importa o quão bom seja um serviço de hospedagem Web, não há quem me convença de que ele vá resolver qualquer questão relativa a perda de dados. Alguns serviços de hospedagem realmente oferecem serviços de backup a cada hora, discos RAID e outras soluções mirabolantes, mas até mesmo a solução mais bem pensada pode apresentar uma falha ou causar problemas. A maioria dos serviços de hospedagem oferece alguma solução de backup automático, mas o que acontece se o datacenter inteiro estiver fora do ar por algum motivo, ou se houver uma queda de força? Você pode achar que isso não aconteceria hoje em dia, mas se o Google pode ficar offline, o seu serviço de hospedagem também pode. Em outras palavras, certifique-se de implementar sua própria solução de backup. Com sorte, você nunca precisará dela, mas, se precisar, ficará feliz por ter pensado nisso desde o início.
17
PARTE I: INTRODUÇÃO AO WORDPRESS
TROCANDO DE SERVIÇO DE HOSPEDAGEM Às vezes, você precisa trocar seu provedor de hospedagem Web. Pode ser que você tenha crescido demais para seu serviço de hospedagem e precise de mais potência em seu site (parabéns!), ou talvez a qualidade do serviço tenha decaído. Seja qual for a razão, não é raro precisar migrar seu site de um serviço de hospedagem para outro. Isso envolve tudo, desde apontar os domínios até mover de fato os arquivos do seu site, isso sem falar do banco de dados. Falaremos apenas das ações de migração que se referem ao WordPress, por isso, se você precisar de ajuda para migrar seu domínio, e-mail, e coisas do tipo, entre em contato com o seu novo serviço de hospedagem, e ele deverá ser capaz de fornecer o auxílio de que você precisa. Existem várias maneiras de fazer a migração para um novo servidor. Meu método preferido é usar a função Export/Import, que pode ser encontrada em Tools na tela de admin do WordPress.
USANDO AS FERRAMENTA DE EXPORTAÇÃO E IMPORTAÇÃO Antigamente, havia algumas ferramentas de exportação e importação no admin do WordPress, mas elas foram transformadas em plug-ins, então pode ser que você precise fazer o download e a instalação de algum plug-in. Caso seja necessário, faça isso. Além disso, antes de migrar, certifique-se de que a instalação do WordPress esteja atualizada. Em seguida, vá até Tools e selecione a opção de exportar o conteúdo, como mostra a Figura 1-4. Você poderá fazer o download de um arquivo contendo os dados.
Figura 1-4: Exportando dados
Instale o WordPress em seu novo servidor. Qualquer serviço de hospedagem decente terá URLs alternativas para acessar seu conteúdo no servidor on-line, sem precisar que seu domínio esteja apontando para o conteúdo. Quando você tiver a instalação de WordPress funcionando, exclua as páginas e postagens automáticas, uma vez que elas não serão substituídas. Assim, você garante que sua instalação será limpa. 18
CAPÍTULO 1: ANATOMIA DE UMA INSTALAÇÃO DE WORDPRESS Em seguida, faça o download da pasta wp-content do servidor antigo e faça o upload dessa pasta no servidor novo. Agora, todas as suas imagens, plug-ins, temas, etc. estão onde deveriam estar. Há uma opção integrada ao importador de postagens que irá tentar fazer o download das imagens de suas postagens para o novo servidor, mas essa opção não funciona na maioria daz vezes, de modo que é melhor gerenciar manualmente os arquivos estáticos em wp-content, usando o seu programa de FTP favorito. Depois disso, você já está pronto para importar o arquivo exportado a partir de seu servidor antigo. Vá até Tools (ver Figura 1-5) e execute o assistente de importação, garantindo que o arquivo exportado do servidor antigo esteja atualizado. Importe o arquivo, deixe que o script processe seu conteúdo e pronto! Verifique se tudo está funcionando corretamente, parabenize a si mesmo e depois redirecione seu domínio para o novo servidor. Você pode precisar editar as configurações de seu novo blog, pois ele pode ter obtido as URLs a partir do sistema interno do serviço de hospedagem; nesse caso, mude as URLs para que elas correspondam ao nome de domínio do seu blog. Enquanto aguarda o direcionamento do domínio para o novo servidor, naturalmente o blog não funcionará, mas o blog antigo ainda estará funcionando. No entanto, pode ser uma boa ideia desativar os comentários no domínio antigo, uma vez que novos comentários serão “perdidos” quando o visitante for redirecionado para o novo servidor com sua nova instalação de WordPress, que toma como base o conteúdo de seu servidor antigo no momento em que você exportou o arquivo.
Figura 1-5: O WordPress é capaz de importar arquivos a partir de uma série de sistemas, mas, nesse caso, você deve selecionar a opção WordPress, já que foi a partir dele que você realizou a exportação do arquivo
QUANDO EXPORTAR/IMPORTAR NÃO FUNCIONA Infelizmente, há casos em que o método Export/Import não funciona — geralmente, porque há conteúdo demais para que a linguagem PHP realize o parsing da importação. Isso acontece possivelmente devido às configurações do seu servidor, e não chega a ser um problema a não ser que você tenha um blog muito grande. 19
PARTE I: INTRODUÇÃO AO WORDPRESS Se esse for o caso, você precisará fazer as coisas de forma um pouco diferente. Idealmente, você pode recriar o seu ambiente de forma idêntica no novo servidor, com o mesmo nome de banco de dados e o mesmo nome de usuário e senha para gerenciá-lo. Se conseguir fazer isso, a migração será muito fácil. Tudo que você precisa fazer é obter uma cópia do banco de dados MySQL usando sua ferramenta de administração MySQL favorita e em seguida importar o banco de dados para o novo servidor. Isso provavelmente significa utilizar o PhpMyAdmin e as instruções de backup disponíveis no WordPress Codex (encontradas em http://codex.wordpress.org/Backing_Up_Your_Database). Aqui vão as instruções para fazer isso: 1. Faça login no PhpMyAdmin e selecione o banco de dados a partir do qual deseja fazer o backup. 2. Clique na guia Export (mostrada na Figura 1-6) no menu superior.
Figura 1-6: A ferramenta PhpMyAdmin é muito mais intimidante que o WordPress, porém é eficiente
3. No lado esquerdo, certifique-se de que todas as tabelas necessárias estejam marcadas (o link Select All vai ajudar nisso). Você deve selecionar todas as tabelas, em princípio, a menos que tenha outras coisas no mesmo banco de dados. 4. No lado direito, marque a caixa de seleção Structure e, em seguida, selecione “Add DROP TABLE”, “Add AUTO_INCREMENT value”, e “Enclose table and field names with backquotes”. Marque também a caixa de seleção Data, mas deixe as opções internas desmarcadas. 5. Role para baixo e marque a caixa de seleção Save as file; a seguir, selecione o tipo de arquivo para download, que deverá ser provavelmente um compactado.
20
CAPÍTULO 1: ANATOMIA DE UMA INSTALAÇÃO DE WORDPRESS 6. Clique no botão Go. Isto irá fazer o download do banco de dados, que você importará para seu novo servidor. 7. Importar uma cópia de banco de dados usando PhpMyAdmin é ainda mais fácil. Certifique-se de que você criou um banco de dados com o mesmo nome, nome de usuário e senha que tinha no servidor anterior. Isso significa que você não precisará alterar o arquivo wp-config.php. 8. Importe a cópia para o novo banco de dados fazendo login em seu gerenciador de MySQL favorito. Se estiver usando PhpMyAdmin, basta selecionar o banco de dados e selecionar a guia Import (ao lado de Export) no menu superior. Use a ferramenta de importação para encontrar a cópia de banco de dados de que você fez download, e importe esse arquivo. 9. Por fim, faça o download da instalação completa do WordPress a partir de seu servidor antigo, e faça o upload dessa instalação da mesma forma, para o servidor novo. Mais uma vez, faça alguns testes usando os endereços temporários do seu serviço de hospedagem Web para garantir que tudo está funcionando corretamente. Direcione o domínio para o novo servidor, e quando o novo servidor resolver o domínio, tudo estará funcionando perfeitamente. No entanto, você pode não conseguir recriar o ambiente exatamente da mesma forma. Se esse for o caso, basta alterar o arquivo wp-config.php conforme necessário; provavelmente, você precisará alterar o nome do banco de dados, nome de usuário e senha, bem como, possivelmente, a necessidade de um servidor de banco de dados externo, que você precisará editar. Migrar o WordPress de um servidor para outro pode parecer assustador no começo, mas não é tão difícil quanto já foi. É claro que, se você tem um blog grande e não se sente confortável para fazer as coisas através de interfaces de administração de banco de dados como PhpMyAdmin, isso pode parecer um pouco complicado demais. Busque ajuda, ou tente fazer você mesmo a migração. Apenas certifique-se de que você tem todos os backups de que poderia precisar, e não bagunce as coisas no seu servidor antigo (atual), mas sim no novo. Afinal de contas, você sempre pode criar um novo banco de dados, instalar o WordPress nele e tentar outra vez.
COMO TORNAR SUA INSTALAÇÃO DE WORDPRESS MAIS SEGURA Há algumas medidas simples que você pode tomar para tornar sua instalação de WordPress mais segura, e algumas bem complicadas. A primeira e principal tarefa, no entanto, é manter o WordPress atualizado. A cada nova versão, uma porção de falhas de segurança, bugs, e outras possíveis vulnerabilidades de segurança da instalação são eliminados, e se você não fizer atualizações regulares, não vai obter essas correções. Você também deve certificar-se de que duas Secret Keys estejam configuradas no arquivo wp-config.php. Elas tornam a instalação mais segura. Para mais informações sobre Secret Keys, consulte o processo de instalação, explicado anteriormente neste capítulo. Geralmente, elas estão configuradas, mas se você usou um instalador automático, podem não estar. Não custa nada conferir no arquivo wp-config.php e adicioná-las se necessário. Isso nos leva à primeira dica. Verifique o arquivo header.php do seu tema para ver se o código a seguir está presente (quase sempre, ele estará): 21
PARTE I: INTRODUÇÃO AO WORDPRESS
Em seguida, remova esse trecho!! Essa linha retorna a versão do WordPress que você está usando, e mesmo que isso possa vir a ser útil para bots e spiders em busca de estatísticas, não compensa o risco adicional. Afinal de contas, se é sabido que uma determinada versão tem uma brecha de segurança e as pessoas estão procurando as instalações dessa versão para explorar essa brecha, por que facilitar declarando abertamente a versão que você está utilizando?
USUÁRIOS E SENHAS A primeira coisa que eu faço depois de instalar o WordPress é criar um novo usuário com privilégios de administrador e fazer login com esse usuário em vez do usuário padrão “admin”. Por quê? Porque todo mundo sabe que, se há um usuário chamado admin, essa conta tem plenas capacidades administrativas. Assim, se você quisesse hackear uma instalação de WordPress, você poderia começar buscando o usuário admin para tentar forçar um login. Uma vez que você entrou usando esse método, pode fazer o que quiser. Por isso, vale a pena excluir o usuário admin depois de feito login pela primeira vez e criado uma conta adequada, já que o usuário admin já terá cumprido seu objetivo. Dito isto, apagar o usuário admin não garante que os hackers não encontrarão outro usuário para continuar tentando invadir o sistema. Se você tiver arquivos de usuário em seu blog, eles entregarão o ouro aos hackers. Uma solução possível seria não exibir esses arquivos, ou quaisquer links para uma página de autor (exceto aqueles que você criou fora do WordPress), mas o que você faz se sentir a necessidade de usar links para páginas de autor? A solução é ser esparso com as credenciais de conta. Não é preciso ter uma conta de administrador para escrever ou editar postagens ou páginas; as credenciais de editor são mais que suficientes. É bem verdade que se uma conta com status de editor for hackeada, isso vai ser ruim para seu site, uma vez que um editor pode fazer uma porção de coisas, mas ao menos não é uma conta de administrador, e isso impede que o pior aconteça. Além disso, você faz backups regulares, não é mesmo? As senhas são outro risco de segurança óbvio. Provavelmente já lhe avisaram que sua senha deve ser forte, uma senha longa e que use letras, números, caracteres especiais, e assim por diante. Faça isso: quanto mais complicada a senha, mais difícil será para alguém decifrá-la.
MEDIDAS DE SEGURANÇA NO LADO DO SERVIDOR O usuário MySQL de seu banco de dados do WordPress, que aliás não deve ser compartilhado com qualquer outro sistema, não requer todos os privilégios de escrita. Na verdade, você não precisa ser capaz de bloquear tabelas e índice, criar tabelas temporárias e referências, ou criar rotinas. Em outras palavras, você pode limitar um pouco as capacidades para tornar o sistema mais seguro. Algumas pessoas recomendam também que você adicione logins extras usando o .htaccess do Apache. Eu, pessoalmente, não faço isso porque acho esses formulários de login irritantes. Além disso, existem plug-ins capazes de fazer um trabalho melhor (ver Capítulo 9 para mais detalhes).
22
CAPÍTULO 1: ANATOMIA DE UMA INSTALAÇÃO DE WORDPRESS Uma medida que você talvez queira adotar é certificar-se de que há um arquivo index.php vazio ou um arquivo index.html em cada pasta que não possua um arquivo de índice. Esse é geralmente o padrão no WordPress, mas não custa nada verificar. Isso impossibilita a navegação direta das pastas, algo que é suportado por alguns serviços de hospedagem Web. Outra questão no lado do servidor é forçar a criptografia SSL na hora de efetuar o login para o admin do WordPress. Assim, será muito mais difícil para os vilões em potencial farejarem o tráfego enviado quando você estiver trabalhando na interface de admin. É muito fácil forçar SSL, basta adicionar o trecho de código a seguir ao seu arquivo wp-config.php, acima do comentário “That’s all, stop editing! Happy blogging”: define('FORCE_SSL_ADMIN', true);
A criptografia SSL não funcionará sem permissão de seu servidor. Alguns servidores oferecerão tudo o que você precisa para ativar esse serviço de dentro de sua interface de admin, mas outros precisarão ativar o serviço para você, e poderão até mesmo cobrar por isso.
OLHANDO PARA A FRENTE Não importa se esta é sua primeira incursão ao mundo maravilhoso do WordPress, ou se você já é um usuário e desenvolvedor experiente. O importante é que você já entendeu a instalação básica, tornou essa instalação mais segura e compreendeu que o WordPress é uma grande potência em termos de publicação. Daqui para a frente, você vai começar a construir sites e criar plug-ins para atingir seus objetivos. O próximo passo é mergulhar naquilo que faz o WordPress dar o melhor de si. Você poderá começar a brincar com o loop, olhar para os temas e plug-ins e ativar essa máquina de ideias que mora na sua cabeça e cria todas aquelas adaptações bacanas. O brilhantismo da plataforma WordPress está no fato de ela ser tão flexível e permitir construir tantas coisas; não há dúvidas de que você ficará inspirado só de pensar nas possibilidades. Se você possui uma instalação de WordPress para experimentar (de preferência, algo que não seja muito público, pois você pode estragar alguma coisa), tenha à mão o seu kit para brincar na caixa de areia e prepare-se para mergulhar na sintaxe do WordPress.
23
2
2 CAPÍTULO
SMASHING WORDPRESS
SINTAXE DO WORDPRESS
AGORA QUE VOCÊ já configurou sua instalação de WordPress, é hora de fazer alguma coisa com ela. Este capítulo serve para você aprender mais sobre WordPress. Ele não aborda cada arquivo no sistema em profundidade, mas serve como uma introdução à forma como o WordPress apresenta o conteúdo. Você vai aprender sobre a importância das template tags, assim
como das conditional tags, e sobre como controlar o resultado e as ações dessas tags com a passagem de parâmetros. Você também pode dar uma olhada nos temas e em seu conteúdo, para entender melhor como os sites são construídos na plataforma WordPress. Vamos lá.
PARTE I: INTRODUÇÃO AO WORDPRESS
WORDPRESS E PHP Daqui em diante, será de grande ajuda se você souber um pouco de PHP, (X)HTML e CSS. Porém, se esses são conceitos estranhos para você, não deixe de ler sobre eles, ao menos um pouquinho. Um bom lugar para começar é visitando W3Schools (http://www. w3schools.com/) e o curso de introdução a PHP 101 da Zend (http://devzone. zend.com/article/627). Você não precisa ser especialista no assunto, mas um mínimo de conhecimento é definitivamente necessário. O WordPress é escrito em PHP, uma linguagem de scripts popular, que oferece aos desenvolvedores a possibilidade de construir praticamente qualquer coisa. Se souber ao menos um pouco de PHP, você rapidamente irá compreender o WordPress e as várias funções que ele oferece no espectro de plug-ins e temas, da perspectiva do desenvolvedor. Dito isso, você não precisa de experiência prévia com PHP para se divertir com WordPress. É bem verdade que não conseguirá criar plug-ins de WordPress, sem saber PHP, mas com certeza você pode fazer as coisas acontecerem usando as template tags (tags de modelo) integradas aos temas, e com isso pode ir longe. As template tags e as conditional tags (tags condicionais) ajudam o desenvolvedor a fazer as coisas com o WordPress, sem precisar definir funções novas para tudo. Isso tudo está parecendo grego para você? Não se preocupe, mesmo que nunca tenha escrito Olá, Mundo! usando um script PHP, no fim deste livro você será capaz de construir praticamente qualquer coisa relacioada a conteúdo usando WordPress
WORDPRESS CODEX O WordPress Codex (ver Figura 2-1), um manual em formato wiki encontrado em http:// codex.wordpress.org, será extremamente útil quando você começar a trabalhar com o código. Você deve se familiarizar com esse manual, e adicionar aos seus favoritos a página principal. Sempre que quiser se aventurar a partir dos exemplos nos próximos capítulos, ou quando quiser saber mais sobre um conceito, é no Codex que você encontrará as informações necessárias para seguir adiante. Embora o Codex contenha informações básicas e tutoriais, muitas vezes, você vai retornar a algumas listas de referência, como a de template tags (http://codex.wordpress.org/Template_Tags/), que contém uma explicação breve, e a de referência de função (http://codex.wordpress.org/Function_ Reference), para suas necessidades mais avançadas.
SOBRE O NÚCLEO DO WORDPRESS Qualquer bom sistema de gerenciamento de conteúdo (CMS) vai manter seus arquivos principais separados dos outros arquivos para que você não estrague o código que faz o sistema funcionar, e o WordPress não é exceção. No WordPress, esses são os arquivos internos que fazem o WordPress funcionar. Essas são as partes do WordPress em que você nunca deve mexer, por que qualquer atualização na plataforma irá sobrescrever suas alterações. Mexer nos arquivos do núcleo do WordPress também pode prejudicar a funcionalidade de tema e plug-in, ou ainda tornar sua instalação vulnerável a invasões. Em suma, não toque nos arquivos do núcleo do WordPress. O único arquivo de núcleo em que você deve mexer é o wp-config.php (ver Capítulo 1), que contém os detalhes necessários para sua instalação. 26
CAPÍTULO 2: SINTAXE DO WORDPRESS
Figura 2-1: Acostume-se a navegar pelo WordPress Codex
Fora do núcleo está a pasta wp-content, onde você vai colocar temas, plug-ins e uploads de arquivos. Tudo isso funciona a partir do WordPress, por isso não há risco de realmente estragar os arquivos do sistema (a menos que você tenha instalado algum código malicioso, mas isso é uma questão completamente diferente) quando estiver desenvolvendo um site. Na verdade, a ideia geral é que a única vez que você vai editar ou fazer qualquer coisa fora da pasta wp-content será durante a instalação do sistema e, possivelmente, ao mover os arquivos de instalação para uma pasta diferente. Naturalmente, há coisas bem legais que exigem a edição do arquivo.htaccess, e você vai se deparar com plug-ins que pedem que você faça coisas fora da pasta wp-content. Não há problemas em fazer isso, é claro, mas você deve tomar um certo cuidado. Em suma, sempre que for necessário editar um arquivo fora da pasta wp-content, você deve ficar atento. Criar novos arquivos é uma coisa, e a edição dos arquivos existentes fica proibida, com exceção dos arquivos wp-config.php e .htaccess. A questão toda, porém, é que o núcleo do WordPress é intocável. Não mexa com o núcleo a menos que você realmente precise fazê-lo, e se esse for o caso, pense duas vezes, uma vez que, provavelmente, há uma solução melhor. Alterar o núcleo é uma má ideia, e por isso mesmo a estrutura de temas e plug-ins baseada na pasta wp-content é tão boa.
TEMAS E ARQUIVOS DE MODELO De maneira simplista, um tema é uma máscara para o seu blog. Você pode escolher entre diferentes temas para que o WordPress exiba seu conteúdo com designs variados, como mostram as Figuras 2-2 e 2-3, que apresentam a mesma postagem usando dois temas diferentes.
27
PARTE I: INTRODUÇÃO AO WORDPRESS
Figura 2-2: Esta captura de tela mostra uma postagem simulada usando o tema Twenty Ten
Figura 2-3: A mesma postagem, mas visualizada com o tema Notes Blog
Você pode usar um tema básico que simplesmente reproduza o conteúdo no esquema de apresentação padrão, ou talvez queira alterar completamente a forma como o conteúdo do seu site é exibido, usando qualquer opção de apresentação que você desejar.
28
CAPÍTULO 2: SINTAXE DO WORDPRESS Todo tema deverá conter um arquivo de folha de estilo chamado style.css. Esse arquivo contém o estilo básico, o nome do tema e os dados. Além da folha de estilo, você terá uma porção de arquivos PHP; alguns deles são absolutamente necessários e outros são apenas melhores práticas, para facilitar sua vida ou fazer com que coisas interessantes aconteçam. Esses arquivos de PHP são chamados de arquivos de modelo (em inglês, “template files”). Um dos arquivos que você encontrará é o index.php, que será o arquivo principal para listagens e resultados de busca, e ele será seu arquivo de fallback para situações em que não haja um arquivo de modelo disponível. Outros arquivos de modelo comuns incluem sidebar. php, que contém o conteúdo da barra lateral, comments.php para a funcionalidade de comentários e os arquivos header.php e footer.php para o cabeçalho e rodapé do seu site, respectivamente. Você pode também ter um arquivo single.php para exibir individualmente suas postagens, e um arquivo page.php para as páginas estáticas do WordPress, e talvez um arquivo de modelo para os resultados de busca (search.php), além de suas listagens de categorias em category.php, e assim por diante. Adicione qualquer modelo de página aplicável em páginas de WordPress, e você terá uma pequena amostra do quão versátil o WordPress pode ser. Com seus arquivos de modelo e as funções do WordPress, além dos plug-ins e do código tradicional em PHP, você pode fazer seu site se comportar praticamente de qualquer forma imaginável. Não quer ativar a função comentar? Basta remover o código! Talvez você queira que a página de um produto específico seja completamente diferente? É só criar um modelo de página e aplicar um estilo que lhe agrade. As possibilidades são infinitas, e mais adiante neste livro você verá como construir sites que são se parecem em nada como um blog comum. Só para deixar as coisas um pouco mais complicadas, você pode ter ainda mais funcionalidade em seus temas. O arquivo functions.php pode fornecer plug-ins com as características do seu tema, e virtualmente qualquer arquivo de modelo pode conter o código PHP que faz as coisas para além do WordPress. Ainda nem entramos no assunto dos widgets, que são áreas onde você pode armazenar elementos a partir da interface de admin. Há também a opção de manter o loop (código que gera o conteúdo principal do seu tema) separado dos seus arquivos, usando outro arquivo de modelo, o loop.php e recursos similares. O loop será abordado em profundidade no Capítulo 3. A Figura 2-4 mostra a página Manage Themes, usada para gerenciamento de temas, na interface de admin do WordPress. A partir dessa página, você pode alterar seu tema com um único clique, ou obter novos temas no repositório de temas do wordpress.org. A melhor maneira de aprender sobre temas é usá-los. Instale um tema em um blog de teste, brinque um pouco e depois dê uma olhada nos arquivos que o compõem. Não se preocupe com imagens, e esqueça também da folha de estilo (é apenas um design), mas dê uma olhada nos arquivos index.php, header.php e footer.php para compreender a forma como os temas são construídos. Não é muito complicado: primeiro você carrega o header.php e, em seguida, carrega qualquer que seja o arquivo de modelo principal utilizado (como index. php, single.php, ou alguma outra coisa), possivelmente um arquivo sidebar.php e então um footer.php.
29
PARTE I: INTRODUÇÃO AO WORDPRESS
Figura 2-4: A interface de admin do WordPress facilita o gerenciamento de temas
Você vai brincar com os temas mais adiante, mas, por enquanto, tudo o que precisa saber é que os arquivos de modelo dos temas são onde toda a mágica acontece. Lá você encontrará o código que exibe o conteúdo que você publicou usando o WordPress, e embora diferentes temas possam ter aparências e comportamentos diferentes, eles estão simplesmente exibindo a mesma coisa de diferentes formas, graças aos arquivos de modelo.
USANDO AS TEMPLATE TAGS Embora o WordPress seja escrito em PHP, ele é na verdade uma estrutura. Você pode usar PHP para fazer coisas com seu tema ou plug-in de WordPress, mas a maior parte da funcionalidade é gerenciada por template tags (tags de modelo). Se você abrir um arquivo de tema (praticamente qualquer arquivo com a extensão .php, como index.php ou single.php) encontrará uma porção de funções PHP compatíveis, como, por exemplo, esta:
Isso é uma template tag, que resulta no nome do blog. A parte PHP, que consiste em no fim, avisa ao WordPress que este deve processar o que quer que esteja ali dentro — nesse caso, a template tag bloginfo(). Dentro dos parênteses, você encontrará o parâmetro dentro das aspas. Em outras palavras, 'name' é o parâmetro acima (que resultaria no nome do seu blog). Você vai usar bastante a template tag bloginfo() em seus temas para, por exemplo, encontrar o diretório do tema. Por exemplo, o código a seguir resulta em uma imagem chamada smashing.gif em um arquivo de tema:
As include tags são diferentes das template tags no sentido de que o que você faz é incluir outros arquivos, em vez de adicionar um tipo específico de funcionalidade ou elemento. Em outras palavras, as include tags incluem os arquivos de modelo, que por sua vez contêm as template tags. Você vai encontrá-las no arquivo index.php do seu tema, por exemplo, e elas automaticamente incluem header.php, footer.php, e sidebar.php, respectivamente, no local em que as tags são posicionadas. As duas primeiras não reconhecem parâmetro algum, mas get_sidebar(), na verdade, possui suporte a barras laterais alternativas, com a adição de uma linha à tag, como mostra o exemplo a seguir:
Isso incluiria o arquivo sidebar-left.php, em vez do padrão sidebar.php, de modo que você precisaria criar esse arquivo, naturalmente. Você também pode encontrar a include tag get_template_part() carregando o loop a partir de seu próprio arquivo de modelo, da seguinte forma: 31
PARTE I: INTRODUÇÃO AO WORDPRESS
O primeiro parâmetro, loop, informa ao WordPress que ele deve obter um modelo de loop. O segundo parâmetro diz ao WordPress para buscar um modelo de loop chamado loop-index. php. Se o segundo parâmetro fosse page em vez de index, o WordPress teria buscado por loop-page.php. Caso o arquivo loop-index.php não fosse encontrado, o WordPress usaria o padrão loop.php. Falaremos mais sobre isso no Capítulo 3. Caso você queira incluir outros arquivos, como um cabeçalho alternativo, por exemplo, pode usar o seguinte trecho de código em PHP :
Essa é uma inclusão tradicional em PHP com TEMPLATEPATH, que mostra ao PHP onde buscar o arquivo, que é sua pasta de tema. É isso que as outras template tags fazem também: elas buscam seus respectivos arquivos na pasta de tema. Esse exemplo avisa ao WordPress para incluir altheader.php onde quer que o trecho de código em PHP seja posicionado. Da mesma forma, você pode facilmente incluir qualquer outra coisa, por isso esse método é muito útil. Por fim, há uma include tag para os comentários, que qualquer tema que se preze contém, em comments.php. Caso não haja um arquivo comments.php, o WordPress irá incluir um arquivo a partir de wp-includes/theme-compat/comments.php, que é um arquivo de fallback disponibilizado pelo sistema. Simplesmente posicione a tag comments_template() no local onde você quer a funcionalidade de comentários apareça, e remova a tag dos locais onde você não acha que essa funcionalidade é necessária:
Atenção ao fato de que você não pode passar parâmetros para comments_template().
PASSAGEM DE MÚLTIPLOS PARÂMETROS PARA UMA TEMPLATE TAG É muito fácil fazer o seu conteúdo ser exibido usando template tags. Algumas delas não aceitarão quaisquer parâmetros, e outras, como bloginfo(), aceitarão apenas um. Outras, no entanto, aceitarão vários parâmetros. Duas template tags realmente úteis para blogueiros são edit_post_link() e edit_ comment_link(). Elas basicamente fazem a mesma coisa: adicionam um link de edição às postagens ou aos comentários de modo a permitir que você (quando tiver feito login como um usuário que possui as credenciais necessárias) possa corrigir erros rapidamente clicando no link de edição. Isso levará você até a interface de admin, onde pode corrigir seu erro ou censurar aquele comentário particularmente desagradável (mas muito provavelmente válido). Para usar essas tags, coloque-as no seu arquivo de tema, junto às postagens/comentários. Ambas as tags funcionam da mesma maneira. As tags devem estar dentro do loop, que será discutido no próximo capítulo, mas por enquanto tudo o que você precisa saber é que
32
CAPÍTULO 2: SINTAXE DO WORDPRESS edit_post_link() vai junto com o código que gera as postagens, e, de modo semelhante, edit_comment_link() vai junto com o código que gera os comentários.
O exemplo a seguir mostra a aparência de edit_post_link() passando seus parâmetros-padrão:
Se você colocar esse trecho de código em seu tema, terá um link com o texto “Edit This” onde quer que você coloque o código. Suponhamos que queira que esse link apareça em uma linha própria, dizendo “Admin” antes do link, e “Edite esta postagem” ao invés do padrão “Edit this”. Simplesmente use o seguinte:
Como você pode ver, edit_post_link() suporta três parâmetros. O primeiro deles é o texto do link, 'Edite esta postagem' nesse caso, e o segundo é o texto que precede o link. Lembre-se de que queríamos que o link de edição aparecesse em um parágrafo separado, precedido por “Admin”, então aqui está 'Admin: '. (Atenção para o espaço em branco após o texto para deixar um pouco de espaço antes do link.) Por fim, o terceiro parâmetro é o que vai após o link, que é apenas '' uma vez que você precisa para fechar a tag . Em outras palavras, edit_post_link() é capaz de lidar com três parâmetros, e eles são passados, neste sentido, para falar um pouco em PHP:
Lembre-se de que os parâmetros são passados entre aspas e separados por vírgulas e um espaço para torná-los mais legíveis. Não é tão complicado, não é mesmo? Você só precisa saber quais os parâmetros devem ser passados, e em que ordem eles devem ser passados. A ordem é importante: sem a ordem correta, você pode criar o link com o texto errado, o que com certeza arruinaria seu design, ou, na melhor das hipóteses, a validação do site. Vejamos agora algo um pouco mais complicado:
Essa template tag irá gerar uma nuvem de tags exibindo até 45 tags, com a menor em fonte 8 pt (pontos), e a maior em 22 pt. Elas são exibidas em uma lista e classificadas por nome, em ordem crescente. Sabemos disso porque esses são os valores padrão, e há uma porção deles, como você pode ver na Tabela 2-1. Na verdade, a template tag wp_tag_cloud() é capaz de passar 13 parâmetros.
33
PARTE I: INTRODUÇÃO AO WORDPRESS Tabela 2-1 Parâmetros padrão para nuvem de tags Parâmetro
Descrição
Valor padrão
smallest
Menor tamanho de tag
8
largest
Maior tamanho de tag
22
unit
Tamanho de fonte utilizado
pt
number
Máximo de tags exibidas
45
format
Como exibir as tags
flat separated with white space
separator
O que aparece entre as tags
white space
orderby
Como organizar as tags
name
order
Como classificar as tags
ascending
exclude
Quais tags excluir
none
include
Quais tags incluir
all
link
Links de edição ou de visualização
view
taxonomy
A base para a nuvem de tags
post_tag
echo
Exibir ou não a nuvem de tags
true
Se você comparar esses valores com a descrição da saída padrão de wp_tag_cloud(), você verá que eles são passados sem que você precise passar quaisquer parâmetros manualmente. Agora, tente alterar a tag mudando alguns parâmetros. No entanto, esteja ciente de que wp_tag_cloud() lê seus parâmetros no que chamamos de query style (ou estilo de consulta). Isso é bom, pois precisar digitar todos os 13 parâmetros possíveis quando você quer simplesmente mudar o tamanho da fonte de pt para px não seria muito amigável para com o usuário. Em vez disso, você pode simplesmente escrever em texto simples:
Eu não sabia que px era um parâmetro válido para a opção de unidade; descobri isso na descrição da template tag (http://codex.wordpress.org/Template_Tags/wp_ tag_cloud). Outros tamanhos possíveis de fontes são em, % e, naturalmente, pt, que é o valor padrão. Se você deseja passar mais parâmetros, basta adicionar um (&) entre eles, dentro do parâmetro, sem espaços. Alterar o ordenamento das tags para count ao invés de name :
Você pode adicionar ainda mais parâmetros à template tag, simplesmente separando-os com um &. Agora torne a ordenação aleatória, alterando a menor tag para 10 px (uma vez que o padrão de 8 é um tanto pequeno quando você usa pixels e não pontos) e maior para 24 px:
34
CAPÍTULO 2: SINTAXE DO WORDPRESS
O valor de ordenamento RAND, está em caixa alta. Isso é intencional; é assim que você passa os dados de ordenamento (as outras opções são ASC para crescente e DESC para decrescente). Além disso, você deve ter percebido que tanto smallest quanto largest foram colocadas antes da opção de unidade. Essa é uma boa forma de colocar os vários parâmetros na ordem em que são descritos, pois assim você será capaz de encontrá-los com maior facilidade sempre que precisar editar o código ou investigar algo.
MAIS SOBRE PARÂMETROS Uma vez que você estará fazendo muita coisa com as template tags, é crucial ter uma compreensão acerca dos parâmetros. Há três tipos de template tags, que já foram abordados. O primeiro tipo não aceita parâmetros, o segundo aceita um ou vários parâmetros entre aspas, e o terceiro tipo é o chamado query style, que separa as diversas opções com o caractere &. Naturalmente, a não passagem de um parâmetro significa que você acaba de posicionar a template tag no local em que precisa que ela esteja, e isso também vale para as outras template tags, uma vez que existe uma saída padrão. Os problemas surgem quando você precisa alterar essa saída padrão, e, portanto, os parâmetros. Nos exemplos anteriores, você já fez tudo isso. Lembre-se de que você passou apenas uma informação em um parâmetro para a template tag bloginfo():
Em seguida, você passou um parâmetro em estilo PHP, com a template tag edit_post_ link(). Aqui, você disse à template tag qual deveria ser o texto do link, e o que deveria vir antes e depois dele, separando cada instrução com uma vírgula e colocando os dados entre aspas:
Por fim, você passou um monte de opções dentro de um parâmetro query style para gerar uma nuvem de tags com wp_tag_cloud(). Esse método divide os parâmetros com &, e permite que você altere apenas as configurações que desejar:
COMPREENDENDO TIPOS DE DADOS Existem três tipos de dados que você pode passar para template tags: linhas, números inteiros e booleanos. Embora a definição de template tag (conforme o wiki do WordPress Codex) diga exatamente como passar dados para essa template tag em particular, é importante saber o que está por trás dela para que você possa selecionar o tipo correto. O primeiro tipo de dados é strings, que consiste em linhas de texto. O exemplo bloginfo('name') é uma linha (string), uma vez que você está dizendo que o parâmetro é 'name'. As strings podem ser encontradas dentro de aspas simples ou aspas duplas (ambas
35
PARTE I: INTRODUÇÃO AO WORDPRESS fazem a mesma coisa), embora a versão de aspas simples seja muito mais utilizada nos exemplos deste livro. O segundo tipo de dados é integers. Os integers são números inteiros, como 55900 ou -3. Você pode passá-los entre aspas, se quiser, mas isso não é necessário. Eles são geralmente usados quando você precisa buscar algo que possui uma ID, o que é bem comum. Mais adiante, você verá template tags e como conditional tags que fazem isso. Finalmente, há os parâmetros Boolean, que são usado quando a informação só pode ser verdadeira ou falsa. Você pode passar essa informação em caixa alta (TRUE ou FALSE), em caixa baixa (true ou false), ou usando números (sendo 1 verdadeiro e 0 falso). Você não pode colocar booleanos entre aspas; eles sempre aparecem sozinhos. Por exemplo, a template tag get_calendar() requer apenas uma instrução, que é exibir a data completa ou apenas uma abreviação de uma única letra. True é o valor padrão, que exibe a primeira letra do nome do dia (por exemplo, M para Monday – do inglês, segunda-feira), por isso, se você quiser exibir Monday ao invés de M, é necessário definir get_calendar() para false:
Outro exemplo de uso de parâmetro Boolean é a template tag the_date(), usada normalmente para exibir a data de uma postagem. Você pode, por exemplo, usar essa informação em seu próprio script PHP, e não exibir nada a partir da tag the_date(). Você pode alterar o formato de saída da data (a primeiro linha no parâmetro), o que aparece antes da data de saída (a segunda linha), e o que vem depois dela (terceira linha). O quarto comando que você pode passar, no entanto, é um Boolean que indica se o sistema deve ou não exibir ou não (o padrão é true). Digamos que você pretende colocar a data no formato ano-mês-dia (Y-m-d de acordo com o manual do PHP para funções de data; o WordPress aceita todas elas) dentro de um parágrafo. O código ficaria assim:
No entanto, se você quiser usar isso com PHP fora das funções do WordPress, por algum motivo, sem exibir saída alguma, você pode configurar a tag para false usando a opção echo que essa template tag possui. Essa é a última coisa que aparece, e é um valor de Boolean; por isso, você não vai colocar o valor entre aspas:
Isto lhe daria o mesmo resultado, sendo ele ano-mês-dia dentro de uma tag , mas a saída disso seria nada, de modo que, se você quiser usar isso com o seu próprio código PHP, esta é a maneira de proceder. Lembre-se de que strings consistem em texto entre aspas, integers são números inteiros, e que parâmetros Boolean podem ser true (verdadeiros) ou false (falsos), sem usar aspas. Tendo isso em mente, vai ser muito mais fácil entender as template tags que você usará para construir sites muito bacanas no WordPress mais adiante.
36
CAPÍTULO 2: SINTAXE DO WORDPRESS
CONDITIONAL TAGS As conditional tags (tags condicionais) são extremamente úteis. Você irá utilizá-las em arquivos de modelo do seu tema e, como o nome sugere, elas servem para configurar diversas condições. Em outras palavras, você pode usá-las para exibir coisas diferentes, dependendo da situação. Um bom exemplo é a conditional tag is_home(), que verifica se você está ou não na página inicial. Utilize essa tag para gerar uma saudação, já que essa é a coisa educada a fazer:
Isso resultaria em um parágrafo com a classe welcome o texto exibido dentro dele. Então você tem um teste simples para especificar se determinada página é ou não a página inicial is_home(), e em seguida uma resposta com o parágrafo, caso trate-se da página inicial, de fato. Esse é um exemplo bem direto, então vamos tentar algo diferente. Suponha que você tem uma categoria específica que deveria ter uma barra lateral diferente do resto do site. Você pode verificar isso usando a conditional tag is_category()e, então, gerar outra barra lateral caso seja necessário. Sempre que houver uma outra página dentro do site, use a include tag tradicional get_sidebar(). O código a seguir irá substituir o fragmento de PHP get_sidebar() nos arquivos de modelo do tema onde for necessário, o que provavelmente significa arquivos como index.php, category.php, single.php e assim por diante:
Aqui, você está perguntando se a categoria é very-special, que é o slug de categoria (usado em links permanentes, etc.) nesse caso. Você poderia ter pedido a ID da categoria bem como o nome da categoria, e já que sua ID é relativamente infalível, o código será muito mais fácil de ler se você usar o slug, uma vez que o slug de categoria não suporta caracteres especiais e coisas do tipo. Se a categoria for de fato a que contém o slug very-special, então use a include tag get_sidebar ('special'), onde 'special' é um parâmetro que indica que você deseja usar sidebar-special.php. Se quisesse, poderia ter feito uma include tag tradicional em PHP, usando a opção TEMPLATEPATH para encontrar a pasta do tema (ver seção “Include tags” anteriormente neste capítulo), mas get_sidebar() faz isso por você, então faça dessa forma. Caso a categoria não seja a que contém o slug very-special, o código irá passar para a cláusula else e avisar ao WordPress para usar a include tag get_sidebar(), ou seja, você irá incluir sidebar.php. Esses são exemplos bem simples, mas mostram claramente como as conditional tags podem ser usadas para criar páginas dinâmicas. Você vai usar essas tags para fazer coisas bem divertidas mais adiante. 37
PARTE I: INTRODUÇÃO AO WORDPRESS
A SEGUIR: O LOOP Agora que você sabe que os sites de WordPress são construídos a partir de temas, que, por sua vez, consistem em arquivos de modelo contendo diferentes tipos de tags que são capazes de fazer coisas bacanas, é hora de começar a manipular o conteúdo. Isso é feito com o loop, um fragmento de PHP que está no coração do WordPress. Embora você possa fazer muita coisa com WordPress sem saber nada sobre o loop, você precisa entender sobre ele se quer realmente manipular a plataforma como desejar. Você pode usar o loop para fazer as postagens aparecerem em uma ordem diferente e para exibir o conteúdo da forma que quiser. Uma porção de coisas que você irá querer fazer com WordPress apenas são possíveis dentro do loop. Isso, por sua vez, significa que você eventualmente precisará de múltiplos loops com saídas personalizadas. No mínimo, você precisa saber onde o loop começa e termina, de modo que possa adicionar template tags e recursos de plug-in bacanas que, sem dúvida, vai encontrar ou criar. Não há como contornar isso, o loop é importante. Vamos a ele, então.
38
3
3 CAPÍTULO
SMASHING WORDPRESS
O LOOP
AGORA QUE VOCÊ já instalou o WordPress e que o conceito de tema está sob controle, é hora de olhar para o que realmente faz o sistema funcionar. Este capítulo vai ensinar sobre o loop, que basicamente é uma consulta PHP que conversa com o WordPress e o faz exibir o conteúdo solicitado. O capítulo começa com algumas utilizações básicas do loop e depois aborda múltiplos loops e alguns truques
bacanas usados dentro do loop para obter efeitos diversos. Para criar sites verdadeiramente bacanas com o WordPress, você precisa entender o loop. Embora não precise ser um especialista, deve compreender o que ele faz. Assim, você pode pesquisar as diversas funções e recursos disponíveis quando esbarrar em uma solução que requer saída personalizada de conteúdo.
PARTE I: INTRODUÇÃO AO WORDPRESS
COMPREENDENDO O LOOP DO WORDPRESS O loop está no coração do WordPress, e reside nos arquivos de modelo do seu tema. Embora você possa, de fato, ter um tema sem o loop, isso dificultaria muito a fluidez da manipulação de conteúdo, como a exibição das últimas postagens e a navegação de trás para a frente. Alguns arquivos de modelo, como por exemplo as páginas de erro 404, não possuem o loop, mas essa é uma exceção. Algumas template tags só funcionam dentro do loop, de modo que você deve ser capaz de identificá-lo. Isso é muito fácil, como você verá na próxima seção.
O LOOP BÁSICO É preciso compreender o loop para criar sites verdadeiramente bacanas com o WordPress. Por sorte, o loop básico é muito fácil. Ele começa assim:
E termina assim: Alguma mensagem de erro ou algo do tipo.
Na verdade, você não precisa daquela parte que fala da mensagem de erro, exceto em arquivos de modelo que são usados para erros de saída, mas uma vez que muitos temas possuem a mensagem de erro, ela está incluída aqui. Pode ser um erro “404 page not found”, ou uma mensagem de resultado de busca dizendo que a busca do visitante não gerou nenhum resultado. O loop a seguir é plenamente funcional, e contém as template tags mais comuns para a saída de conteúdo de postagens. Você encontrará este loop, ou alguma coisa muito semelhante a ele, no arquivo index.php da maioria dos temas:
View more...
Comments