O WordPress vem com suporte integrado para exibir seus tipos de postagem personalizados. Depois de adicionar alguns itens ao seu novo tipo de postagem personalizado, é hora de exibi-los em seu site.

Existem alguns métodos que você pode usar, e cada um tem seus próprios benefícios.

Exibindo tipos de postagem personalizados usando o modelo de arquivo padrão

Primeiro, você pode simplesmente acessar Aparência »Menus e adicionar um link personalizado ao seu menu. Este link personalizado é o link para o seu tipo de postagem personalizado.

Se você estiver usando permalinks amigáveis ​​para SEO, o URL do seu tipo de postagem personalizado provavelmente será algo assim:

http://exemplo.com.br/filmes

Se você não estiver usando permalinks amigáveis ​​para SEO , seu URL de tipo de postagem personalizado será algo assim:

http://exemplo.com.br/?post_type=filmes

Não se esqueça de substituir ‘exemplo.com.br’ pelo seu próprio nome de domínio e ‘filmes’ pelo seu nome de tipo de postagem personalizado.

Salve seu menu e, em seguida, visite o front-end do seu site. Você verá o novo item de menu que adicionou e, quando clicar nele, ele exibirá sua página de arquivo de tipo de postagem personalizada usando o arquivo de modelo archive.php em seu tema.

Criando modelos de tipo de postagem personalizados

Se você não gostar da aparência da página de arquivo para seu tipo de postagem personalizado, poderá usar um modelo dedicado para arquivos de tipo de postagem personalizados .

Tudo que você precisa fazer é criar um novo arquivo no diretório do seu tema e nomeá-lo archive-filmes.php. Certifique-se de substituir ‘filmes’ pelo nome do seu tipo de postagem personalizado.

Para começar, você pode copiar o conteúdo do archive.phparquivo do seu tema para o archive-filmes.php modelo e modificá-lo para atender às suas necessidades.

Agora, sempre que a página de arquivo do seu tipo de postagem personalizado for acessada, esse modelo será usado para exibi-lo.

Da mesma forma, você também pode criar um modelo personalizado para a exibição de entrada única do seu tipo de postagem. Para fazer isso, você precisa criar single-filmes.php no diretório do seu tema. Não se esqueça de substituir ‘filmes’ pelo nome do seu tipo de postagem personalizado.

Você pode começar copiando o conteúdo do modelo do seu tema single.phppara o single-movies.php modelo e depois começar a modificá-lo para atender às suas necessidades.

Exibindo tipos de postagem personalizados na primeira página

Uma vantagem de usar tipos de postagem personalizados é que ele mantém seus tipos de conteúdo personalizados separados de suas postagens regulares. No entanto, se desejar, você pode exibir tipos de postagem personalizados na primeira página do seu site.

Basta adicionar este código no arquivo functions.php do seu tema ou em um plugin específico do site.

add_action( 'pre_get_posts', 'add_my_post_types_to_query' );
  
function add_my_post_types_to_query( $query ) {
    if ( is_home() && $query->is_main_query() )
        $query->set( 'post_type', array( 'post', 'filmes' ) );
    return $query;
}

Não se esqueça de substituir ‘filmes’ pelo seu tipo de postagem personalizado.

Como consultar tipos de postagem personalizados

Se você estiver familiarizado com codificação e quiser executar consultas de loop em seus modelos, veja como fazer isso. Ao consultar o banco de dados, você pode recuperar itens de um tipo de postagem personalizado.

Você precisará copiar o trecho de código a seguir no modelo em que deseja exibir o tipo de postagem personalizado.

<?php 
$args = array( 'post_type' => 'filmes', 'posts_per_page'=>10, 'paged' => get_query_var('paged') ? get_query_var('paged') : 1 );
$the_query = new WP_Query( $args ); 
?>
<?php if ( $the_query->have_posts() ) : ?>
<?php while ( $the_query->have_posts() ) : $the_query->the_post(); ?>
<h2><?php the_title(); ?></h2>
<div class="entry-content">
<?php the_content(); ?> 
</div>
<?php endwhile;
wp_reset_postdata(); ?>
<?php else:  ?>
<p><?php _e( 'Desculpe, nenhum post corresponde aos seus critérios.' ); ?></p>
<?php endif; ?>

Este código define o tipo de postagem e o número de postagens por página nos argumentos para nossa nova classe WP_Query. Em seguida, ele executa a consulta, recupera as postagens e as exibe dentro do loop.