Tips lain untuk mengurangi code redundancy adalah dengan menggunakan fungsi khusus WordPress, get_template_part(). Untuk dokumentasi lengkap, lihat disini.
Bila kita perhatikan, bagian menampilkan event, menggunakan code yang sama pada halaman archive-event.php, event.php, front-page.php, dan single-program.php.

Code untuk menampilkan code tersebut adalah seperti dibawah. Pindahkan code tersebut ke dalam file baru. Untuk penamaan file bebas. Disarankan disimpan dalam folder terpisah untuk memudahkan organisasi file.
Pada tutorial digunakan folder template, file name digunakan adalah cont-event.php, berikut isi filenya
<div class="event-summary">
<a class="event-summary__date t-center" href="<?php the_permalink();?>">
<span class="event-summary__month">
<?php
if (get_field('event_date') != NULL) {
$eventDate = DateTime::createFromFormat('d/m/Y', get_field('event_date'));
}else{
$eventDate = DateTime::createFromFormat('d/m/Y', '01/01/2020');;
}
echo $eventDate->format('M');
?>
</span>
<span class="event-summary__day"><?php echo $eventDate->format('d'); ?></span>
</a>
<div class="event-summary__content">
<h5 class="event-summary__title headline headline--tiny"><a href="<?php the_permalink();?>"><?php the_title();?></a></h5>
<p><?php
if (has_excerpt()){
echo get_the_excerpt();
}else{
echo wp_trim_words(get_the_content(), 15) ;
}
?> <a href="<?php the_permalink();?>" class="nu gray">Learn more</a></p>
</div>
</div>
Hapus code diatas dari file archive-event.php, event.php, front-page.php, dan single-program.php. Lalu tambahkan code untuk memanggil template file dengan fungsi get_template_part(‘template/cont’, ‘event’).
Pada tutorial ini hanya memberi contoh pada archive-event.php. Silakan ganti pada 3 file lainnya. Code dibawah adalah isi archive-event.php setelah diubah.
<?php
get_header();
PageBanner(array(
'title' => 'All Events',
'subtitle' => 'Event Penting didunia IT'
));
?>
<div class="container container--narrow page-section">
<?php
while(have_posts()) {
the_post();
get_template_part('template/cont-event');
}
echo paginate_links();
?>
<hr class="section-break">
<p>Untuk event yang sudah berlalu silakan <a href="<?php echo site_url('/past-events');?>">Click disini</a></p>
</div>
<?php
get_footer();
?>
Function vs get_template_part()
Pada modul sebelumnya kita menggunakan function yang kita buat sendiri untuk membuang duplicate code. Sementara pada modul ini kita menggunakan fungsi dari WordPress, yaitu get_template_part().
Mungkin timbul pertanyaan, pendekatan mana yang lebih baik untuk digunakan. Sebetulnya tidak ada jawaban benar atau salah.
Namun, umumnya, bila kita hanya perlu mengambil template tanpa ada manipulasi, maka menggunakan get_template_part().
Sementara, bila kita ingin melakukan manipulasi, passing argument dan melakukan operasi tertentu, maka pendekatan dengan membuat fungsi sendiri lebih tepat.