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…