Fonte: Xemelê

Devido à grande quantidade de comentários que temos recebido demostrando dificuldade na hora de preparar o tema do WordPress para utilizar o Lead Manager, esse post tem como objetivo explicar detalhadamente esse processo…

Para ficar mais simples será demonstrada a criação de capas na página index.php do tema default do wordpress, que fica na pasta ‘wp-content/themes/default/’. Abaixo está o trecho do código em que iremos trabalhar:

<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>
<div class=”post” id=”post-<?php the_ID(); ?>”>
<h2><a href=”<?php the_permalink() ?>” rel=”bookmark” title=”Permanent Link to <?php the_title_attribute(); ?>”><?php the_title(); ?></a></h2>
<small><?php the_time(’F jS, Y’) ?> <!– by <?php the_author() ?> –></small>
<div class=”entry”>
<?php the_content(’Read the rest of this entry »’); ?>
</div>

Eu destaquei as funções que serão alteradas. Comecemos pela mais difícil:

have_posts()

O WordPress utiliza uma lógica muito interessante para carregamento dos conteúdos, batizado como ‘O LOOP’. Explicando de uma forma resumida, o ‘have_posts()’ retorna true enquanto existir conteúdo a ser carregado no local onde você está.

Seguindo a mesma lógica temos o ‘$covers->have_posts(area, [max])’, onde ‘area’ é o id da área na qual você criou a capa e max é um campo opcional que força a quantidade de posts a ser carregados.

Para não complicar, vamos usar o id da área ‘home’ que já vem por padrão ao instalar o plugin. Substituiremos então:

‘<?php if(have_posts()) : ?>’

por:

‘<?php if($covers->have_posts(1)) : ?>’

E também:

‘<?php while(have_posts()) : the_post(); ?>’

por:

‘<?php while($covers->have_posts(1)) : the_post(); ?>’

Pronto! O pior já passou… Agora é só receita de bolo.

the_post()

A função ‘the_post()’ coloca na memória os dados do post que será chamado. Da mesma forma o ‘$covers->the_post()’ coloca na memória os dados da capa. Então é só alterar:

‘<?php while($covers->have_posts(1)) : the_post(); ?>’

por:

‘<?php while($covers->have_posts(1)) : $covers->the_post(); ?>’

the_title()

Essa função imprime na tela o título do post. Espelhando ela o ‘$covers->the_title()’ imprime o título da capa, quando existir. Caso nenhum título tenha sido informado para a capa, o plugin mostra o título do próprio post. No tema:

‘<?php the_title(); ?>’

será substituido por:

‘<?php $covers->the_title(); ?>’

the_excerpt()

Opa! Essa função não existe no tema… mas ela cumpre um papel semelhante ao ‘the_content(’Read the rest of this entry »’)’, carregando um resumo do post ou, se o resumo estiver em branco, um trecho do conteúdo. Esse campo é muito utilizado por jornalistas com a finalidade de criar chamadas que despertem o interesse dos leitores para aquela notícia.

Já existem temas que utilizam esse recurso, mas, no nosso caso, substituiremos o:

‘<?php the_content(’Read the rest of this entry »’); ?>’

por:

‘<?php $cover->the_excerpt(); ?>’

Assim como o ‘$covers->the_title()’, o ‘$covers->the_excerpt()’ só carrega a chamada da capa se ela existir, do contrário o ‘the_excerpt()’ do post é trazido.

the_permalink()

O ‘the_permalink()’ é responssável por gerar o link para o post. Existem ocasiões em que a capa poderá apontar para outro site (banners por exemplo), nesse casos que o ‘$covers->the_permalink()’ se faz necessário. No tema, mude:

‘<?php the_permalink(); ?>’

para:

‘<?php $covers->the_permalink(); ?>’

Lembrando que ele também carrega o permalink do post se o permalink da capa estiver vazio.

the_thumb()

Por último, mas não menos importante, o ‘$covers->the_thumb()’. Essa função não possui uma irmã nos temas. Surgiu como uma necessidade de controlar onde as imagens seriam carregadas e para funcionar basta adicionar ‘$covers->the_thumb([size[, add]])’ no local do seu tema onde a imagem será apresentada.

Os parâmetros dessa função são opcionais. O size indica o tamanho da imagem a ser carregada e admite apenas o valores ‘medium’ e ‘thumbnail’, enquanto o add pode ser qualquer valor válido para tags do tipo imagem. Por exemplo:

‘<?php $covers->the_thumb(’thumbnail’, ‘width=”100″ class=”semborda”‘); ?>’

A saída da função acima resultará em:

‘<img src=”img/imagem.jpg” width=”100″ class=”semborda” />’

O resultado final será:

<?php if ($covers->have_posts(1)) : ?>
<?php while ($covers->have_posts(1)) : $covers->the_post(); ?>
<div class=”post” id=”post-<?php the_ID(); ?>”>
<h2><a href=”<?php $covers->the_permalink() ?>” rel=”bookmark” title=”Permanent Link to <?php the_title_attribute(); ?>”><?php $covers->the_title(); ?></a></h2>
<small><?php the_time(’F jS, Y’) ?> <!– by <?php the_author() ?> –></small>
<div class=”entry”>
<?php $covers->the_thumb(’thumbnail’, ‘width=”100″ class=”semborda”‘); ?>
<?php $covers->the_excerpt(); ?>
</div>

A criação de capas não está restrita à index.php, você pode criar capas por categorias, criar sessões para o site, combinar várias capas em uma só página, dividir áreas para cada setor com permissões para os responssáveis… Enfim, vai da necessidade (e criatividade) de cada um.

Espero ter ajudado…