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.