Inisialisasi & Section

Inisialisasi Panel & Section (Tab)

Inisialisasi Panel

Panel pengaturan dibuat dengan menginstansiasi kelas MadOptions di dalam hook WordPress aftersetuptheme atau init:

PHP
function my_theme_init_options() {
    if ( ! class_exists( 'MadOptions' ) ) {
        return;
    }

    $panel = new MadOptions( array(
        'id'          => 'my_options_id',
        'title'       => 'Pengaturan Tema',
        'menu_title'  => 'Pengaturan Tema',
        'capability'  => 'manage_options',
        'menu_slug'   => 'my-theme-settings',
        'parent_slug' => 'themes.php',      // Kosongkan jika ingin dijadikan Top-Level Menu
        'option_name' => 'my_theme_data',   // Kunci penyimpanan di tabel wp_options
    ) );

    // Lanjutkan dengan mendaftarkan section dan field...
}
add_action( 'after_setup_theme', 'my_theme_init_options' );

Parameter Konfigurasi Panel

Parameter Tipe Wajib Keterangan
id string Ya Identifier unik untuk instance panel.
title string Ya Judul halaman yang tampil di title bar panel admin.
menutitle string Ya Label teks yang tampil di sidebar menu admin WordPress.
capability string Tidak Hak akses pengguna (default: manageoptions).
menuslug string Ya Slug URL halaman admin (misal: themes.php?page=my-theme-settings).
parentslug string Tidak Induk menu admin. Gunakan themes.php untuk menu Tampilan, atau kosongkan '' untuk membuat menu utama mandiri.
optionname string Ya Kunci string untuk menyimpan array data di tabel wpoptions.

Membuat Section (Tab Sidebar)

Setiap tab di sidebar navigasi panel admin disebut Section. Gunakan method $panel->add_section():

PHP
$panel->add_section( array(
    'id'    => 'general',
    'title' => 'General',
    'icon'  => 'dashicons-admin-generic',
    'desc'  => 'Pengaturan umum tema dan identitas situs.',
) );

$panel->add_section( array(
    'id'    => 'header',
    'title' => 'Header & Navigasi',
    'icon'  => 'dashicons-heading',
    'desc'  => 'Kustomisasi layout bar atas, navbar, dan logo.',
) );

$panel->add_section( array(
    'id'    => 'typography',
    'title' => 'Tipografi',
    'icon'  => 'dashicons-editor-textcolor',
    'desc'  => 'Pengaturan jenis font dan ukuran teks global.',
) );

Parameter Section

  • id (string): Identifier unik section. Digunakan saat mengaitkan field ke section ini.
  • title (string): Label nama tab di sidebar panel.
  • icon (string): Nama Dashicons WordPress (misal: dashicons-admin-appearance, dashicons-admin-generic, dashicons-art).
  • desc (string): Deskripsi singkat yang tampil di bagian atas konten tab.