Skip to content

Menggunakan Fungsi pageBanner() di Semua Template

Tujuan

Mengganti semua kode page banner yang terduplikasi di setiap template file dengan pemanggilan fungsi pageBanner().


Template yang Diperbarui

1. archive-event.php — dengan argumen kustom

php
<?php get_header();

pageBanner(array(
  'title' => 'All Events',
  'subtitle' => 'See what is going on in our world.'
));
?>

<div class="container container--narrow page-section">
  <!-- loop events -->
</div>

<?php get_footer(); ?>

💡 Archive screen tidak punya post spesifik di database → gunakan argumen kustom untuk title & subtitle.

2. archive-program.php — dengan argumen kustom

php
<?php get_header();

pageBanner(array(
  'title' => 'All Programs',
  'subtitle' => 'There is something for everyone. Have a look around.'
));
?>

3. archive.php — dengan fungsi dinamis

php
<?php get_header();

pageBanner(array(
  'title' => get_the_archive_title(),
  'subtitle' => get_the_archive_description()
));
?>

💡 get_the_archive_title() → mengembalikan "Category: Awards", "Author: Brad", dll. Gunakan versi get_ (return value), bukan the_ (echo langsung).

4. index.php — Blog home, argumen kustom

php
<?php get_header();

pageBanner(array(
  'title' => 'Welcome to our blog!',
  'subtitle' => 'Keep up with our latest news.'
));
?>

5. page-past-events.php — argumen kustom

php
<?php get_header();

pageBanner(array(
  'title' => 'Past Events',
  'subtitle' => 'A recap of our past events.'
));
?>

6. page.php — tanpa argumen (semua fallback)

php
<?php get_header();

while (have_posts()) {
  the_post();
  pageBanner();
?>
  <div class="container container--narrow page-section">
    <!-- content -->
  </div>
<?php }

get_footer(); ?>

💡 Page biasa: title dari database, subtitle dari ACF, photo dari ACF atau fallback ocean.jpg.

7. single-event.php — tanpa argumen

php
<?php get_header();

while (have_posts()) {
  the_post();
  pageBanner();
?>

8. single-professor.php — tanpa argumen

Sudah disetup di lesson sebelumnya.

9. single-program.php — tanpa argumen

php
<?php get_header();

while (have_posts()) {
  the_post();
  pageBanner();
?>

10. single.php — tanpa argumen (blog posts)

php
<?php get_header();

while (have_posts()) {
  the_post();
  pageBanner();
?>

Kapan Pakai Argumen vs Fallback?

SituasiPendekatan
Archive/listing page (tidak ada post spesifik)Berikan argumen title & subtitle
Single post/page (ada data di database)Panggil tanpa argumen → fallback otomatis
Archive generik (archive.php)Gunakan get_the_archive_title() sebagai argumen

Hasil

Sebelum: kode page banner terduplikasi 8-10 file, masing-masing ~15 baris HTML.

Sesudah: satu fungsi pageBanner() di functions.php, setiap template hanya 1 baris pemanggilan.

Jika perlu mengubah struktur HTML banner → cukup edit 1 tempat.