Skip to content

Challenge: Membuat Slideshow Homepage Dinamis

Gambaran Umum

Video ini membahas tantangan untuk membuat slideshow di homepage menjadi dinamis — artinya konten slideshow bisa dikelola dari admin WordPress tanpa mengedit kode. Brad menjelaskan dua pendekatan utama dan memperkenalkan ACF Pro (Advanced Custom Fields Pro).

Catatan Brad: Pelajaran ini bersifat historis. Pendekatan modern menggunakan Custom Block Types yang sudah dipelajari di chapter sebelumnya.


Pendekatan 1: Custom Post Type untuk Slides

Buat Custom Post Type khusus bernama "Slides" atau "Slideshow Items":

  • Setiap slide = satu post dalam CPT tersebut
  • Gunakan ACF (Advanced Custom Fields) untuk menambahkan field custom pada setiap slide:
    • Slide Title — judul slide
    • Subtitle — subtitle/deskripsi singkat
    • Link Text — teks tombol (misal: "Learn More")
    • Link URL — URL tujuan tombol
    • Photograph — gambar background slide

Kelebihan:

  • Jumlah slide tidak terbatas (bisa tambah/hapus slide sesuka hati)
  • Setiap slide adalah entitas terpisah yang mudah dikelola

Kekurangan:

  • Perlu membuat Custom Post Type baru
  • Sedikit lebih kompleks untuk setup awal

Pendekatan 2: ACF Fields pada Front Page

Tambahkan field-field ACF langsung pada halaman Front Page:

  • Tidak perlu membuat CPT baru
  • Field ditambahkan langsung ke halaman yang sudah ada

Masalah: Jumlah Slide Fixed

Jika menggunakan ACF versi gratis, kamu harus menentukan jumlah field secara tetap. Misalnya harus membuat:

  • slide_1_title, slide_1_subtitle, slide_1_image
  • slide_2_title, slide_2_subtitle, slide_2_image
  • dst.

Jumlah slide tidak bisa dinamis (tidak bisa tambah/hapus seenaknya).


ACF Pro — Solusi untuk Slide Dinamis

ACF Pro adalah versi berbayar dari plugin Advanced Custom Fields yang menambahkan fitur-fitur powerful:

1. Repeater Field

  • Memungkinkan pengulangan group field secara dinamis
  • User bisa menambah atau menghapus row (baris) sesuai kebutuhan
  • Cocok untuk slideshow: setiap row = satu slide dengan field title, subtitle, image, dll.
  • Harga: Mulai dari ~$25 AUD (Personal license)

2. Flexible Content Field

  • Brad menyebutnya "developer's paradise"
  • Mirip repeater, tapi setiap row bisa memiliki tipe konten berbeda
  • User bisa memilih tipe konten saat menambah row baru (misal: "Slide with Image", "Slide with Video", "Text Only Slide")
  • Sangat powerful untuk layout builder

Contoh Penggunaan Repeater untuk Slideshow:

[Repeater Field: Homepage Slides]
  ├── Row 1
  │   ├── Title: "Welcome to Our University"
  │   ├── Subtitle: "The best place to learn"
  │   ├── Link Text: "Find Out More"
  │   ├── Link URL: "/about"
  │   └── Image: [uploaded photo]
  ├── Row 2
  │   ├── Title: "World Class Programs"
  │   └── ...
  └── [+ Add Row] ← User bisa tambah slide baru

Kesimpulan

PendekatanKelebihanKekurangan
CPT untuk SlidesSlide tidak terbatas, terorganisirSetup lebih kompleks
ACF pada Front Page (Free)Setup mudahJumlah slide fixed
ACF Pro RepeaterDinamis, user-friendlyBerbayar ($25 AUD+)
Custom Block TypesPendekatan modern, terintegrasi GutenbergPerlu pengetahuan React

Brad merekomendasikan pendekatan Custom Block Types untuk proyek modern, tapi kedua pendekatan ACF di atas tetap valid dan banyak digunakan.