Posts Tagged ‘ criar

Como criar um tema para o WordPress - parte IV 26 Agosto 2007 às 8:18 am por Érico Oliveira

Na etapa de hoje, falaremos sobre o rodapé do nosso tema e como sempre, recomendo a todos que estão chegando agora a leitura dos posts anteriores deste tutorial, parte I, parte II e parte III.
Na imagem abaixo, como vocês podem ver, está o rodapé do nosso template.
Template Mighty - Rodapé
Neste template o rodapé é extremamente simples, mas há temas para o Wordpress que adicionam vários recursos, como é o caso do tema Dark (excelente por sinal).
Voltando ao nosso template, vamos dar uma olhada no código fonte.

  1. <div id="footer">
  2. <ul>
  3. <li id="copyright" >&amp;copy; 2007 Mighty</li>
  4. <li id="links" >
  5. <ul>
  6. <li><a href="http://validator.w3.org/check/referer">XHTML</a> |</li>
  7. <li><a href="http://jigsaw.w3.org/css-validator/check/referer" >CSS</a> |</li>
  8. <li><a href="http://www.kulor.com/?ref=mighty_template">Design by Kulor</a></li>
  9. </ul>
  10. </li>
  11. </ul>
  12. </div>
  13. </body>
  14. </html>

Como de praxe, agora vamos ver o código com as tags do Wordpress, que deverá ser inserido no arquivo footer.php.

  1. <div id="footer">
  2. <ul>
  3. <li id="copyright">&amp;copy; 2007 <?php bloginfo('name'); ?> |</li>
  4. <li>Powered by <a href="http://wordpress.org/">WordPress</a> |</li>
  5. <li><a href="<?php bloginfo('rss2_url'); ?>">RSS</a></li>
  6. <li id="links">
  7. <ul>
  8. <li><a href="http://validator.w3.org/check/referer" >XHTML</a> |</li>
  9. <li><a href="http://jigsaw.w3.org/css-validator/check/referer" >CSS</a> |</li>
  10. <li><a href="http://www.kulor.com/?ref=mighty_template" >Design by Kulor</a></li>
  11. </ul>
  12. </li>
  13. </ul>
  14. </div>
  15. <?php wp_footer(); ?>
  16. </body>
  17. </html>

Como vocês puderam observar, de fato nosso rodapé é muito simples e apenas algumas tags foram inseridas. Vamos explicá-las:

  • bloginfo(’name’) - nome do blog;
  • bloginfo(’rss2_url’) - link para o feed RSS;
  • wp_footer() - é uma tag especial que permite certos plugins inserir códigos no rodapé de seu tema. Quando esta tag não é inserida vários plugins deixam de funcionar, então não esqueça de colocá-la em todos os seus temas.

Terminamos assim mais uma etapa de nosso tutorial e para a próxima, e última parte, teremos o tema completo para download e as considerações finais. Até a próxima.

+ Como criar um tema para o WordPress - parte III Por Érico Oliveira 05 Agosto 2007 às 10:35 pm e possui 7 Comentários

Menu LateralPessoal, não esqueci do nosso tutorial, apenas andei sem tempo nas últimas semanas. Para quem está chegando agora, recomendo a leitura da Parte I e Parte II do tutorial. Na primeira parte do tutorial expliquei como funciona um tema WordPress em linhas gerais e sobre os arquivos screenshot.png, style.css e header.php. Na segunda parte expliquei sobre o corpo principal do tema, o index.php. E agora vocês verão como funciona o menu lateral com o arquivo sidebar.php
Na imagem ao lado vocês estão vendo o menu lateral e nele nos temos o formulário de busca, as listas de categorias, arquivo e blogroll. Todas essas listas são geradas automaticamente pelo WordPress, desta forma sempre que você cria uma nova categoria, por exemplo, ela é exibida no menu lateral sem precisar editar arquivo algum.
Primeiro vejamos o código HTML do menu lateral.

  1. <div id="secondaryContent">
  2. <form action="">
  3. <p><input /> <button>procurar</button></p>
  4. </form>
  5. <h3>Categorias</h3>
  6. <ul>
  7. <li><a href="#">Sed eros</a></li>
  8. <li><a href="#">Condimentum</a></li>
  9. <li><a href="#">Feugiat sit</a></li>
  10. </ul>
  11. <h3>Arquivos</h3>
  12. <ul>
  13. <li><a href="#">Julho 2007</a></li>
  14. <li><a href="#">Junho 2007</a></li>
  15. </ul>
  16. <h3>Blogroll</h3>
  17. <ul>
  18. <li><a href="#">Sed eros</a></li>
  19. <li><a href="#">Condimentum</a></li>
  20. <li><a href="#">Feugiat sit</a></li>
  21. </ul>
  22. </div>

Agora vamos inserir as tags do WordPress e ver como fica o código do template.

  1. <div id="secondaryContent">
  2. <form id="searchform" method="get" action="<?php bloginfo('home'); ?>">
  3. <p><input type="text" name="s" id="s" /><input type="submit" value="Procurar" /></p>
  4. </form>
  5. <h3>Categorias</h3>
  6. <ul>
  7. <?php wp_list_categories('show_count=1'); ?>
  8. </ul>
  9. <h3>Arquivos</h3>
  10. <ul>
  11. <?php wp_get_archives('type=monthly'); ?>
  12. </ul>
  13. <h3>Blogroll</h3>
  14. <ul>
  15. <?php get_links(2, '<li>', '</li>', '', '', 'name'); ?>
  16. </ul>
  17. </div>

Visto o código com as tags inseridas mostraremos agora o significado de cada uma. Antes porém, é importante explicar que o formulário de busca segue um padrão, e por isto, basta copiar e colar o código na sua template.

  • bloginfo(’home’) - insere a URL inicial do blog;
  • wp_list_categories(’show_count=1′); - exibe uma lista com todas as categorias com o número de posts existentes em cada categoria;
  • wp_get_archives(’type=monthly’) - lista todos os meses do ano em que foram inseridos posts. Se você escreveu 7 posts no mês de maio de 2007, por exemplo, será exibido um link “maio/2007″ que ao ser clicado exibirá todos os 7 posts que você escreveu;
  • get_links(2, ‘<li>’, ‘</li>’, ”, ”, ‘name’) - lista todos os links da categoria 2 (no caso blogroll), inserindo antes a tag “<li>”, depois a tag </li> e exibindo o nome do link.

Assim, concluimos mais uma parte de nosso tutorial. Na próxima etapa veremos o rodapé.

+ Como criar um tema para o WordPress - parte II Por Érico Oliveira 19 Junho 2007 às 7:38 am e possui 15 Comentários

Na primeira parte do tutorial expliquei como funciona um tema WordPress em linhas gerais e sobre os arquivos screenshot.png, style.css e header.php. Nesta segunda parte explicarei sobre o corpo principal do tema, o index.php.Template Mighty - Body

Como vocês podem ver na imagem do corpo principal, este trecho está dividido em cinco partes bem distintas, são elas: o título do post, o conteúdo do post, o link para comentar, o autor e a data. Este é o conteúdo que irá se repetir até que não tenha mais posts ou o número de posts configurado para ser exibido na página principal seja alcançado. Esse é o famoso Loop do WordPress.

Vamos dar uma olhada no código HTML do template referente a este trecho.

  1. <div id="container">
  2. <div id="primaryContent">
  3. <h2>Website Kulor on top yet again website Kulor on top yet again</h2>
  4. <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Fusce condimentum nibh. Sed eros tellus, <strong>semper</strong> vel, dignissim at, feugiat sit amet, leo.</p>
  5. <div id="comments">
  6. <dl id="status">
  7. <dt>Comments (1)</dt>
  8. <dd>| <a href="#">Add comment</a></dd>
  9. </dl>
  10. <dl class="comment">
  11. <dt><a href="#">John Doe</a></dt>
  12. <dd class="date">on Wed 5 Aug 06</dd>
  13. </dl>
  14. </div>
  15. </div>

E como fica o código com as tags do WordPress.

  1. <?php get_header(); ?>
  2. <?php if (have_posts()) : while (have_posts()) : the_post(); ?>
  3. <div id="container">
  4. <div id="primaryContent">
  5. <h2><a href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a></h2>
  6. <p><?php the_content(); ?></p>
  7. <div id="comments">
  8. <dl id="status">
  9. <dt><a href="<?php the_permalink(); ?>"><?php comments_number('Nenhum coment&amp;aacute;rio', 'Um coment&amp;aacute;rio', '% coment&amp;aacute;rios' );?></a></dt>
  10. </dl>
  11. <dl class="comment">
  12. <dt><?php the_author(); ?></dt>
  13. <dd class="date">dia <?php the_time('j de F de Y'); ?></dd>
  14. </dl>
  15. <?php endwhile; else: ?>
  16. <p><?php _e('Nenhum post encontrado.'); ?></p>
  17. <?php endif; ?>
  18. <?php posts_nav_link(' &amp;#8212; ', __('&amp;laquo; P&amp;aacute;gina anterior'), __('Pr&amp;oacute;xima p&amp;aacute;gina &amp;raquo;')); ?>
  19. </div>
  20. </div>
  21. <?php get_sidebar(); ?>
  22. <?php get_footer(); ?>

Agora o que significa cada uma dessas tags. Antes é importante esclarecer que o index.php é o arquivo base do tema e é por isso que nós vamos inserir nele os demais arquivos do tema, como o cabeçalho, o menu e o rodapé. Vamos lá.

  • get_header() - insere o código do header.php, isto é, o cabeçalho do tema;
  • if (have_posts()) : while (have_posts()) : the_post() - aqui na verdade nós temos três funções e elas é que dão início ao LOOP. A primeira tag verifica se há posts, a segunda solicita que, enquanto existir post continue no loop e a terceira “pega” todas as informações do post, como o título, conteúdo, data, autor, etc. É comum encontrar tags que só funcionam dentro do loop, isto quer dizer que a tag só irá retornar algum valor se estiver inserida após estas funções e antes de endwhile; e endif;, que terminam o loop.
  • the_permalink() - o link do post;
  • the_title() - o título do post;
  • the_content() - o conteúdo do post;
  • comments_number() - insere o número de comentários feitos no post. Além disso adiciona um texto dependendo da quantidade de comentários. Se não houver comentários a tag irá inserir o texto “Nenhum comentário”, se tiver apenas um comentário, irá inserir “Um comentário” e para mais de um comentário irá inserir “N comentários”, onde N é a quantidade de comentários, claro;
  • the_author() - o autor do post;
  • the_time() - a data em que o post foi postado;
  • endwhile; else: - encerra o loop e adiciona a condicional que, se não houver nenhum post insira o conteúdo abaixo;
  • _e(’Nenhum post encontrado.’) - este é conteúdo que irá ser inserido caso não exista nenhum post;
  • endif; - termina a condicional que verifica se há posts;
  • posts_nav_link() - adiciona links de navegação, “próxima página” e “página anterior”;
  • get_sidebar() - insere o menu lateral, que veremos na próxima etapa do tutorial;
  • get_footer() - e por último, mas não menos importante, insere o rodapé.

Pronto, mais uma parte do nosso tutorial concluída. Até a próxima!

+ Como criar um tema para o WordPress - parte I Por Érico Oliveira 07 Junho 2007 às 5:51 pm e possui 32 Comentários

Neste tutorial explicarei como criar um tema para o WordPress baseado em um template XHTML/CSS. Como não sou designer e nosso objetivo aqui não é criar um template e sim um tema para o WordPress, fui no OSWD e escolhi um template, o escolhido foi o Mighty, desenvolvido pelo Kulor.Template Mighty Todos os templates que existem lá, você pode copiar, modificar e utilizar da forma que quiser, desde que cite o autor. Então escolha um template ou crie o seu próprio e vamos colocar a mão na massa.

Um detalhe importante, na verdade dois, primeiro: para a completa compreensão deste tutorial é necessário que você saiba HTML e CSS, se souber alguma coisa de PHP será ótimo mas não é essencial. Segundo: para tornar mais rápido e prático o desenvolvimento do tema eu recomendo que você instale o WordPress no seu computador, eu já fiz um tutorial explicando como fazer isso, espero que lhe seja útil.

Nesta primeira parte do tutorial explicarei onde colocar os arquivos, como o WordPress reconhece seu tema e como criar o cabeçalho. Vamos lá, acesse a pasta wp-content/themes, que está localizada dentro do seu WordPress no seu computador ou no seu servidor, crie uma pasta com o nome da sua template, no meu caso será Mighty, e salve os arquivos da template. Qualquer tema do WordPress deve ter no mínimo dois arquivos, index.php e style.css. No nosso caso teremos mais, são eles: index.php, header.php, sidebar.php, footer.php, comments.php, style.css, screenshot.png e mais uma pasta chamada images (que contem as imagens utilizadas na template). Na medida que formos construindo a template irei explicando para que serve cada um destes arquivos.

Antes de entrarmos diretamente na modificação dos arquivos faremos logo a imagem de preview do tema, que aparece na administração, no momento em que você está selecionando as templates. O arquivo deve ser chamar screenshot.png e possuir 300×225 pixels. Deverá ser salva na pasta do tema como todos os outros arquivos, no nosso caso wp-content/themes/mighty. Lembrei agora de uma dica muito legal que sempre utilizo quando tenho alguma dúvida, vejo como foi feito nos outros templates, principalmente no Classic e Default, que foram os primeiros temas do WordPress.

A primeira modificação a ser feita será no arquivo style.css. Neste arquivo deveremos inserir as informações sobre a template, que o WordPress utilizará para reconhecer como um tema e exibirá na seção Presentation>Theme do administrador. Se estes dados não forem inseridas no início do style.css, o tema não aparecerá para você escolher na administração. As informações que deverão ser inseridas são as seguintes:

  1. /*
  2. Theme Name: Mighty
  3. Theme URI: http://www.pblog.com.br/
  4. Author: Erico Oliveira
  5. Author URI: http://www.pblog.com.br
  6. Version: 1.0
  7. */

Acredito que aqui não há nada a ser esclarecido, tudo é bem óbvio. Vamos adiante.

O próximo arquivo que faremos é o header.php, ou seja, o cabeçalho. Copiaremos o trecho do código referente a esta parte da template:Mighty Header

Que é exatamente esta:

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <title>Mighty</title>
  5. <meta http-equiv="content-type" content="application/xhtml+xml; charset=utf-8" />
  6. <link rel="stylesheet" href="style.css" media="all" type="text/css" />
  7. <link rel="alternate" href="" title="RSS Feed" type="application/rss+xml" />
  8. </li> <li class="t0"><code></head>
  9. <body>
  10. <div id="header">
  11. <div class="subContainer">
  12. <div id="logo">
  13. <div id="box">MIGHTY</div>
  14. <p>Template by James Broad</p>
  15. </div>
  16. </div>
  17. </div>
  18. <div id="navigation">
  19. <ul>
  20. <li id="active"><a href="">Home</a></li>
  21. <li><a href="">About Mighty</a></li>
  22. <li><a href="">Products</a></li>
  23. <li><a href="">Services</a></li>
  24. <li><a href="">Contact Us</a></li>
  25. </ul>
  26. </div>

Agora iremos substituir parte do código estático do HTML pelas tags do WordPress. Para quem não está muito familiarizado com PHP ou outra linguagem dinâmica o negócio funciona assim: na linha 5 do código HTML, por exemplo, temos e iremos substituir por . Desta maneira quando o arquivo header.php for solicitado, o servidor irá processar todos os trechos de códigos compreendidos entre <?php e ?> antes de enviar para o seu browser, neste caso ele substituirá a tag bloginfo(’name’); pelo título do blog que você informou no administrador do WordPress. Ok? Vamos então ver como ficou todo código com as tags do WordPress.

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <title><?php bloginfo('name'); ?></title>
  5. <meta name="generator" content="WordPress <?php bloginfo('version'); ?>" />
  6. <meta http-equiv="content-type" content="<?php bloginfo('html_type'); ?>; <?php bloginfo('charset'); ?>" />
  7. <link rel="stylesheet" href="<?php bloginfo('stylesheet_url'); ?>" media="all" type="text/css" />
  8. <link rel="alternate" type="application/rss+xml" title="RSS 2.0" href="<?php bloginfo('rss2_url'); ?>" />
  9. <link rel="alternate" type="text/xml" title="RSS .92" href="<?php bloginfo('rss_url'); ?>" />
  10. <link rel="alternate" type="application/atom+xml" title="Atom 0.3" href="<?php bloginfo('atom_url'); ?>" />
  11. <?php wp_head(); ?>
  12. </head>
  13. <body>
  14. <div id="header">
  15. <div class="subContainer">
  16. <div id="logo">
  17. <div id="box"><?php bloginfo('name'); ?></div>
  18. <p><?php bloginfo('description'); ?></p>
  19. </div>
  20. </div>
  21. </div>
  22. <div id="navigation">
  23. <ul>
  24. <li><a href="<?php echo get_option('home'); ?>/">Home</a></li>
  25. <?php wp_list_pages('title_li='); ?>
  26. </ul>
  27. </div>

Agora vou explicar todas tags utilizadas neste cabeçalho. Se você quiser saber mais detalhes sobre as tags ou conhecer as demais tags do WordPress eu recomendo uma visita ao Codex>Template Tags (em inglês, ok?).

  • bloginfo(’name’) - este quase dispensa explicações, nome do blog;
  • bloginfo(’version’) - versão do WordPress;
  • bloginfo(’html_type’) - “Content-type” do seu blog;
  • bloginfo(’charset’); - codificação de caracteres utilizada no blog;
  • bloginfo(’stylesheet_url’) - CSS do seu tema;
  • bloginfo(’rss2_url’) - RSS 2.0 do blog;
  • bloginfo(’rss_url’) - RSS 0.92 do blog;
  • bloginfo(’atom_url’) - Atom do blog;
  • wp_head() - é uma tag especial que permite que certos plugins insiram códigos no cabeçalho de seu tema. Quando esta tag não é inserida vários plugins deixam de funcionar, então não esqueça de colocá-la em todos os seus temas;
  • bloginfo(’description’) - descrição do blog;
  • get_option(’home’) - na verdade trata-se de uma função e não uma tag, por isso deve vir precedida da função echo do PHP, que exibe o resultado de uma função ou variável. Neste caso irá retornar a URL inicial do blog;
  • wp_list_pages(’title_li=’) - exibe todas as pages existentes, precedidas de <li> e sucedidas por </li>.

Terminamos assim a primeira parte do nosso tutorial. Na próxima etapa falaremos sobre o corpo principal do site, onde são exibidos o objetivo de todo blog, os posts.