Criando uma página para cada tipo de conteúdo

Após criar seus tipos de conteúdo personalizados, você certamente vai querer ter um local para mostrar todos os posts daquele tipo, a dica seguinte serve para isso. Confira.

Na pasta do template que você está usando crie um arquivo com o nome do seu tipo de conteudo, no meu caso ficou portfolio.php, em seguida adicione o seguinte código:

<?php
/*
Template Name: Portfolio
*/
?>
<?php get_header(); ?>
	<div id="content">
	<?php
		$loop = new WP_Query(array('post_type' => 'portfolio', 'posts_per_page' => 10));
	?>
	<?php while ( $loop->have_posts() ) : $loop->the_post(); ?>
        <div id="portfolio-item">
		<h1><?php the_title(); ?></h1>
		<?php the_post_thumbnail(); ?>
		<?php the_content(); ?>
	</div>
        <?php endwhile; ?>
        </div><!-- #content -->
<?php get_footer(); ?>

Explicando:
Primeiro dizemos o nome do modelo (depois vocês vão entender) que é ‘Portfolio’. Como num template normal temos a query que busca os posts, então criamos uma nova query e definimos o tipo de conteúdo para exibir, que neste caso é ‘Portfolio’. Vocês poderiam adicionar qualquer outro argumento como por exemplo ‘posts_per_page’ para definir uma número máximo de posts a exibir. Apos a query eu crio um loop, não vou explicar o que está dentro do loop porque é igual a um template normal. Você também pode resgatar campos personalizados que você criou mas isso você encontra em um outro artigo eu publiquei.

Agora no painel, vamos criar uma nova página (Páginas->Adicionar nova) coloque titulo, conteúdo (opcional) e o que você quiser colocar, então ali dentro de Atributos da página mude o modelo, para o nome do modelo que você criou.

Com essa dica podemos notar que o WordPress está se tornando um CMS muito poderoso para diversas coisas e também vemos que com poucas linhas de código podemos fazer milagres.

Valeu galera, até a próxima…

Como personalizar uma página

Neste post mostrarei como é simples criar um template específico para uma determinada página. Para isso usarei um exemplo prático aqui do pBlog, a página “Sobre“. Nesta página eu não gostaria que fossem exibidos todo esse conteúdo que vem logo abaixo do título, como autor, data, categoria, tags e coisa e tal. Também não gostaria que fosse exibido o formulário de comentários (isso seria fácil de remover, bastaria desabilitar os comentários).

Resolvi então criar um novo template chamado sobre.php baseado no page.php e removi todo o conteúdo que não gostaria que fosse exibido. Depois adicionei o seguinte código no início da página:

<?php /* Template Name: Sobre */ ?>

E quando fui criar a página escolhi na opção Page Template o template “sobre”, como vocês podem ver abaixo.

Page Template

Com essa personalização você pode fazer inúmeras modificações, como por exemplo, não exibir o menu lateral, eliminar a publicidade e qualquer coisa que lhe der na telha.