get_template_part() — Modularizar templates de tema

Time Full Services Time Full Services
Tipo Funções nativas
Nome do erro get_template_part() — Modularizar templates de tema
Severidade Informativo
Desde WordPress 3.0
Descrição Carrega um template parcial dentro de outro template de forma organizada, permitindo reutilização de componentes e facilitando a manutenção do tema.

Causa

Duplicar código HTML em múltiplos templates dificulta manutenção. Uma alteração precisa ser replicada em vários arquivos.

Como resolver

Crie templates parciais na pasta do tema e carregue com get_template_part(). Passe dados usando o terceiro argumento $args (desde WP 5.5), evitando variáveis globais.

PHP
<?php
// Estrutura de arquivos:
// theme/
//   template-parts/
//     card/
//       card.php          ← genérico
//       card-produto.php  ← específico para produto
//       card-evento.php   ← específico para evento

// Uso no template principal (index.php, archive.php)
while (have_posts()) :
    the_post();

    // Carrega template específico ou fallback para o genérico
    get_template_part('template-parts/card/card', get_post_type(), [
        'show_excerpt' => true,
        'image_size'   => 'medium',
        'show_meta'    => is_archive(),
    ]);

endwhile;

// Dentro do template-parts/card/card-produto.php:
/*
<?php
$args        = $args ?? [];
$show_excerpt = $args['show_excerpt'] ?? false;
$image_size   = $args['image_size']   ?? 'thumbnail';

echo '<article class="card card-produto">';
echo '<h2>' . esc_html(get_the_title()) . '</h2>';
if ($show_excerpt) echo '<p>' . get_the_excerpt() . '</p>';
echo '</article>';
*/

Seja PRO.

Tenha acesso a snippets de código premium — PHP, JavaScript, CSS e HTML prontos para usar em seus projetos.

Conhecer o plano Pro →