Antes de mais nada vale dizer o que é custom post type, ou como venho traduzindo livremente de seu tipo de post.
Nativamente o WordPress possui alguns tipos de post, a mais comum é de rápido associação é o próprio tipo que leva o nome de Post. Mas além dele temos como tipos padrões:
- Posts
- Pages
- Attachments
- Revisions
- Navigation Menus
- Custom CSS
- Changesets
Se quer saber mais sobre o uso de cada post type pode acessar a documentação neste link.
Mas em nosso caso queremos criar o nosso próprio tipo, para este exemplo iremos criar um post do tipo Vídeos.
Então no nosso arquivo functions.php do nosso tema filho devemos inserir o seguinte trecho para utilizar a poderosa função register_post_type:
/Adiciona post type vídeos/
register_post_type( 'videos',
array(
'labels' => array(
'name' => ( 'Vídeos' ), 'singular_name' => ( 'Vídeo' )
),
'public' => true,
'has_archive' => true,
'menu_icon' => 'dashicons-video-alt3',
'supports' => array( 'title', 'editor', 'author', 'thumbnail', 'excerpt', 'comments' )
)
);
Para ver todas as possibilidade de ajustes para os vetores de configuração da função você pode acessar este artigo ou a documentação.
Uma vez inserido esse código será registrado o novo tipo e a essa altura poderá ver no painel de administração a opção Vídeos com o ícone parecido com o do Youtube.
Para alterar esse ícone você pode utilizar algum outro desta lista.
Agora você já é capaz de criar postagens do tipo que criou, mas para fechar o ciclo vai querer listar essas postagens, para isso sugiro que crie um loop para este tipo de postagem.
Este trecho você irá inserir no arquivo php que quer que a listagem dos vídeos apareça.
$args = array(
'post_type' => 'videos',
);
$loop = new WP_Query( $args );
while ( $loop->have_posts() ) : $loop->the_post(); ?>
<div class="box-video">
<?php the_post_thumbnail();
the_title();
the_content(); ?>
</div>
<?php endwhile;
wp_reset_postdata();
Curtiu? Ficou em dúvida ou tem alguma sugestão? Comenta aí!