Tema Para WordPress Parte 4: Criando os Subtemplates

Aos leitores do feed:

Como esse post ficou muito longo, está dividido em 3 partes, para acessar, o jeito é vir até o blog, já que posts paginados aparecem pela metade.

Antes de continuar, você deve estar lembrado que havia um erro de XHTL no código para corrigir.

Se você não encontrou, aqui vai a dica. No footer.php, antes da tag </body>, acrescente </div>.

Nem sempre uma tag faltando vai quebrar o template de um blog, mas vai, sim, fazer com que o código deixe de validar.

Corrigida a lição de casa, vamos à aula de hoje. Prepare um café porque hoje a coisa vai longe :-D .

Antes de estilizar o CSS do nosso tema, vamos criar os subtemplates, que personalizam a exibição das páginas fixas, arquivos, categorias etc.

Páginas Fixas

O subtemplate page.php é responsável pela exibição das páginas fixas, como páginas de contato, sobre, política de privacidade e outras. São páginas que não entram na cronologia de publicação do blog, daí o termo “fixas”.

Por sua característica informativa, normalmente dispensam comentários e não são categorizadas. Por isso, são um pouco diferentes do template index.php.

Vá até o seu index.php, copie todo o código e cole no bloco de notas ou no editor de texto de sua preferência.

Localize o trecho abaixo:

<h2><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></h2>

Substitua por esse:

<h1><?php the_title(); ?></h1>

Localize os códigos abaixo e delete todos eles:

<small><?php the_time('F jS, Y') ?> <!-- by <?php the_author() ?>

--></small>
<p class="postmetadata"><?php the_tags('Tags: ', ', ', '<br />'); ?> Posted in <?php the_category(', ') ?> | <?php edit_post_link('Edit', '', ' | '); ?>  <?php comments_popup_link('No Comments &#187;', '1 Comment &#187;', '% Comments &#187;'); ?></p>
<div class="navigation">
<div class="alignleft"><?php next_posts_link('&laquo; Older Entries') ?></div>
<div class="alignright"><?php previous_posts_link('Newer Entries &raquo;') ?></div>
</div>

Salve como page.php, junto dos outros templates do seu tema.

Arquivos

Copie o código do seu index.php, cole no editor de textos e insira o código abaixo logo após <?php if (have_posts()) : ?>.

<?php $post = $posts[0]; // Hack. Set $post so that the_date() works. ?>
<?php /* If this is a category archive */ if (is_category()) { ?>
<h2 class="pagetitle">Archive for the &#8216;<?php single_cat_title(); ?>&#8217; Category</h2>
<?php /* If this is a tag archive */ } elseif( is_tag() ) { ?>
<h2 class="pagetitle">Posts Tagged &#8216;<?php single_tag_title(); ?>&#8217;</h2>
<?php /* If this is a daily archive */ } elseif (is_day()) { ?>
<h2 class="pagetitle">Archive for <?php the_time('F jS, Y'); ?></h2>
<?php /* If this is a monthly archive */ } elseif (is_month()) { ?>
<h2 class="pagetitle">Archive for <?php the_time('F, Y'); ?></h2>
<?php /* If this is a yearly archive */ } elseif (is_year()) { ?>
<h2 class="pagetitle">Archive for <?php the_time('Y'); ?></h2>
<?php /* If this is an author archive */ } elseif (is_author()) { ?>
<h2 class="pagetitle">Author Archive</h2>
<?php /* If this is a paged archive */ } elseif (isset($_GET['paged']) && !empty($_GET['paged'])) { ?>
<h2 class="pagetitle">Blog Archives</h2>
<?php } ?>

Para evitar a geração de conteúdo duplicado, o que não vai ajudá-lo em nada na indexação junto aos mecanismos de busca em geral e Google em particular, vamos substituir o código responsável pela exibição dos posts.

Localize <?php the_content('Read the rest of this entry &raquo;'); ?> e substitua por <?php the_excerpt() ?>.

Salve como archive.php.

Comentários

Os comentários que serão exibidos junto aos posts são gerados pelo arquivo comments.php. para criá-lo, copie o código abaixo, cole no editor de textos e salve-o como comments.php.

O código é uma versão ligeiramente modificada do encontrado no tema padrão do WordPress. Ele exibe os comentários separados dos trackbacks, que vem abaixo dos comentários normais.

Páginas: 1 2 3

Compartilhar

Eclipse da Psicanálise
Eclipse da Psicanálise
 R$ 35,00 
Veja mais
Clouds And Eclipses
Clouds And Eclipses
 R$ 45,34 
Veja mais
Eclipses - Importada - IMPORTADO
Eclipses - Importada - IMPORTADO
 R$ 34,90 
Veja mais
Eclipse de Deus
Eclipse de Deus
 R$ 25,90 
Veja mais

Vitrine Submarino 3.4.1

Gostou? Cadastre seu email e receba mais, é grátis!

10 Comentários para “Tema Para WordPress Parte 4: Criando os Subtemplates”

  1. Ricardo disse:

    Qual a manhã desse Post Individual? Eu salvo ele como posts.php?

    Salvando dessa forma ñ consigo visualizar os comentários e muitos menos comentar! Se eu faço as alterações dentro da própria index.php os posts perdem o link, porém consigo ver os comentários e postar.

    Qual a manhã aê galera!?

    Show de bola a matéria!

  2. j. noronha disse:

    Acho que esqueci desse detalhe. Você salva como single.php. Qualquer dúvida, é só usar os comentários.

  3. Ricardo disse:

    Valeu meu caro! Agora está tudo perfect!
    Mas é impressão minha ou a Lista de Links e as Metas q ficam no side bar ñ aparecem em todas as páginas?
    Tipo em arquivos, categorias e no próprio post elas ñ aparecem, apenas na principal e nos links das páginas q criei eles estão presentes!

  4. j. noronha disse:

    É assim mesmo, os links e meta estão em uma tag condicional, como no tema padrão do WordPress. Para que apareçam em todas as páginas é só remover o código abaixo, em negrito.

    < ?php /* If this is the frontpage */
    if ( is_home() || is_page() ) { ?>

    links
    meta

    < ?php } ?>

  5. Pedro Arch disse:

    cara não esta aparecendo o codigo que tenho que copiar desse trecho aqui:

    “Comentários

    Os comentários que serão exibidos junto aos posts são gerados pelo arquivo comments.php. para criá-lo, copie o código abaixo, cole no editor de textos e salve-o como comments.php.

    O código é uma versão ligeiramente modificada do encontrado no tema padrão do WordPress. Ele exibe os comentários separados dos trackbacks, que vem abaixo dos comentários normais.”

    Se der podes mandar pra mim?

    Obrigado

  6. Pedro Arch disse:

    opa sou eu denovo!!!

    Não vi que estava na outra página o codigo.
    Resolvido o problema.

    Mas agora estou com outro. hehehehe

    Essa parte aqui:

    “Página de Erro

    É a famigerada página de erro 404, exibida quando um link que não existe mais é acessado.

    Copie o index.php, cole no editor de textos e substitua toda a área responsável pela geração do conteúdo, desde até pelo código abaixo.”

    eu salvo com qual nome?

    Obrigado

  7. Romulo disse:

    tentei fazer a validacao do codigo, mas mesmo depois de colocar a ainda ta aparecendo um erro

    1. Error Line 211, Column 8: ID “linkcat-2″ already defined.

    Lista de Links

    An “id” is a unique identifier. Each time this attribute is used in a document it must have a different value. If you are using this attribute as a hook for style sheets it may be more appropriate to use classes (which group elements) than id (which are used to identify exactly one element).

    2. Info Line 157, Column 8: ID “linkcat-2″ first defined here.

    Lista de Links

    vc pode me ajudar nesse problema?

  8. Romulo disse:

    vc pode mandar o link para os arquivos traduzidos?
    eu assinei o feeds mas nao tem link para os arquivos
    se for possivel disponibilizar eu agredeco
    Ah… esse tutorial e otimo,

  9. j. noronha disse:

    Pedro,
    Você salva como 404.php.

    Romulo
    Isso acontece porque são os mesmos links nas duas barras laterais. Como você vai usar apenas em uma, ou até nem usar, vai validar sem problemas quando estiver em uso.

    O link para download é esse:

    Download Arquivos

  10. Everton disse:

    Cara! parabens pelo tutorial, me ajudou muito a entender como funciona os templates, agora ficarei bem menos perdido nao hora de editar rsrs
    um abraço!

Deixe um comentário

XHTML: Tags permitidas: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Online