Seu próprio tipo de post (Custom Post Type)

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í!

Deixe um comentário