Selamat berjumpa kembali dalam seri panduan membangun themes dari nol hingga menjadi themes yang memenuhi standart WordPress 3.1. Pelan tapi pasti themes yang sudah kita bangun mulai menampakkan bentuknya. Jika anda mengikuti terus panduan ini dari awal, saya yakin anda sudah mulai berani mengutak-atik themes yang sudah ada. Tapi buat yang terlambat silahkan baca kembali panduan ini dari awal biar nyambung karena saya tidak akan mengulang lagi pelajaran yang sudah lewat
Jika kemarin kita telah menyelesaikan pembuatan bagian konten, maka sekarang kita akan coba memasukkan unsur canggih dalam themes kita yaitu sidebar widget. Disini kita akan berkenalan dengan file baru yang kita beri nama functions.php. File ini khusus menangani fungsi-fungsi PHP yang kita bangun untuk keseluruhan blog. Jadi, anda harus benar-benar membaca artikel ini dengan baik dan teliti
Dalam membuat sidebar widget, kita akan bekerja dengan 3 file sekaligus:
- functions.php yang menangani fungsi widget di sidebar kita
- index.php yang bertugas menentukan dimana letak sidebar widgetnya
- style.css yang mengurusi bagaimana widget-widget ditampilkan
Baiklah, pertama kita akan buat file functions.php. Caranya sama dengan saat kita membuat file index.php, kalau sudah lupa silahkan buka kembali arsip-arsip tulisan berseri ini.
Untuk mendeklarasikan sebuah widget, kita gunakan fungsi register_sidebar. Nah, karena kita akan meregistrasi 3 sidebar widget sekaligus sesuai dengan theme yang kita bangun, maka kita akan buat fungsi khusus yang mendaftarkan 3 widget tersebut. Berikut kodenya:
<?php
function themegue_widgets() {
register_sidebar( array(
'name' => 'Sidebar Lebar',
'id' => 'sidebar-lebar',
'description' => 'Sidebar dengan lebar 300px terletak paling atas',
'before_widget' => '<li id="%1$s" class="widget-container %2$s">',
'after_widget' => '</li>',
'before_title' => '<h3 class="widget-title">',
'after_title' => '</h3>',
) );
register_sidebar( array(
'name' => 'Sidebar Kiri',
'id' => 'sidebar-kiri',
'description' => 'Sidebar kiri dengan lebar 145px terletak di bawah sidebar lebar',
'before_widget' => '<li id="%1$s" class="widget-container %2$s">',
'after_widget' => '</li>',
'before_title' => '<h3 class="widget-title">',
'after_title' => '</h3>',
) );
register_sidebar( array(
'name' => 'Sidebar Kanan',
'id' => 'sidebar-kanan',
'description' => 'Sidebar kanan dengan lebar 145px terletak di bawah sidebar lebar, di sebelah kanan sidebar kiri',
'before_widget' => '<li id="%1$s" class="widget-container %2$s">',
'after_widget' => '</li>',
'before_title' => '<h3 class="widget-title">',
'after_title' => '</h3>',
) );
}
add_action( 'widgets_init', 'themegue_widgets' );
?>
Oke, saya jelaskan dulu. Pertama kode function themegue_widgets() dipakai untuk mendeklarasikan sebuah fungsi baru. Dalam contoh ini nama fungsinya adalah themegue_widgets.
Selanjutnya dalam fungsi tersebut kita mendeklarasikan 3 buah widget dengan nama sidebar lebar, sidebar kiri dan sidebar kanan. Masing-masing sidebar kita beri keterangan nama sidebarnya, id, diskripsi, dll.
Dan terakhir kita daftarkan fungsi tersebut agar dieksekusi menggunakan perintah add_action( 'widgets_init', 'themegue_widgets' );
Sudah paham ya?
Menginformasikan letak sidebar widget di Themes
Berikutnya kita akan menunjukkan kepada WordPress dimana letak sidebarnya. Gak mungkinkan kita cuma daftarin aja widgetnya tapi nggak kita tunjukkan mau muncul dimana. Konyol dong jadinya. Bagaimana caranya?
Buka file index.php dan kita cari kode sidebar kita yang dahulu. Kalau tidak salah, kodenya kemarin seperti ini:
<div id="sidebar"> <div id="lebar"> Iklan kotak ada disini </div> <div id="kiri"> Menu-menu sidebar kiri ada disini </div> <div id="kanan"> Menu-menu sidebar kanan ada disini </div> </div>
Disinilah kita perintahkan WordPress meletakkan widget sidebar. Dan perlu diingat, walaupun namanya sidebar widget, tapi tidak menutup kemungkinan untuk diletakkan di tempat lain lho (misalnya header atau footer). Karena kitalah yang menentukan dimana widget tersebut akan muncul.
Ada 2 cara untuk menampilkan widget.
Pertama widget baru muncul kalau ada isinya. Kalau ndak ada isinya dia hilang seolah-olah tidak ada. Cara ini bisa kita terapkan di sidebar lebar. Kita asumsikan, sidebar lebar digunakan untuk menampilkan iklan banner atau adsense. Nah, kalau tidak ada iklan sama sekali, maka sidebar itu hilang sehingga hanya memunculkan sidebar kiri dan kanan saja. Maka kita ganti kode untuk menampilkan sidebar lebar dengan kode berikut:
<?php if ( is_active_sidebar( 'sidebar-lebar' ) ) : ?> <div id="lebar"> <ul> <?php dynamic_sidebar( 'sidebar-lebar' ); ?> </ul> </div> <?php endif; ?>
Lihat kan? Kita gunakan fungsi IF untuk melakukan pengecekan apakah sidebar lebar ada isinya atau tidak (maksudnya widgetnya terisi atau tidak). Kalau ada, maka munculkan isinya. Kalau ndak ada ya hilangkan beserta DIV-nya sehingga tampilan kotak lebarnya ikut hilang. Gak lucu kok kalau kita cuma menampilkan kotak kosong doang.
Fungsi <?php dynamic_sidebar( 'sidebar-lebar' ); ?> kita pakai untuk memunculkan isi sidebar widget. Dalam hal ini sidebar widget dengan ID sidebar-lebar.
Cara kedua menampilkan widget adalah jika ada isinya, maka tampilkan isinya. Tapi jika tidak ada isinya, maka tampilkan isi default. Jadi lokasi widgetnya tidak pernah kosong. Ini akan kita terapkan untuk sidebar kiri dan kanan. Kodenya seperti ini:
<div id="kiri"> <ul> <?php if ( ! dynamic_sidebar( 'sidebar-kiri' ) ) : ?> <!-- KODE-KODE DEFAULT UNTUK SIDEBAR KIRI --> <?php endif; ?> </ul> </div> <div id="kanan"> <ul> <?php if ( ! dynamic_sidebar( 'sidebar-kanan' ) ) : ?> <!-- KODE-KODE DEFAULT UNTUK SIDEBAR KANAN --> <?php endif; ?> </ul> </div>
Nah, sudah paham kan? Sekarang tinggal kreatifitas anda sendiri yang menentukan isian defaultnya apa. Inilah kode sidebar yang saya buat dengan isian default untuk sidebar kiri adalah form search dan arsip, sedangkan untuk sidebar kanan saya isi meta. Cekidot !!
<div id="kiri"> <ul> <?php if ( ! dynamic_sidebar( 'sidebar-kiri' ) ) : ?> <li id="search" class="widget-container widget_search"> <?php get_search_form(); ?> </li> <li id="archives" class="widget-container"> <h3 class="widget-title">Arsip</h3> <ul> <?php wp_get_archives( 'type=monthly' ); ?> </ul> </li> <?php endif; ?> </ul> </div> <div id="kanan"> <ul> <?php if ( ! dynamic_sidebar( 'sidebar-kanan' ) ) : ?> <li id="meta" class="widget-container"> <h3 class="widget-title">Meta</h3> <ul> <?php wp_register(); ?> <li><?php wp_loginout(); ?></li> <?php wp_meta(); ?> </ul> </li> <?php endif; ?> </ul> </div>
Sekarang coba lihat blog anda. Sebelum kita pasang widget, seharusnya tampilannya seperti ini:

Tampilan sidebar sebelum dipasang widget
Dan inilah tampilan wp-admin pada menu widget

Menu Widget
Tampilannya masih ancur ya? Gpp, besok kita styling bagian sidebar ini. Anda pelajari dulu apa yang sudah saya sampaikan sampai paham. Insya Allah ke depan kita akan lebih banyak utak-atik kode lagi. Buat anda yang nyasar kesini dan bingung mulai dari mana, klik disini untuk melihat daftar isinya.
Diakses dg kata kunci:
xwidget theme (110), membuat sidebar (54), sidebar (53), membuat sidebar wordpress (37), membuat widget wordpress (35), sidebar widget wordpress (32), cara membuka file widget (26), widget sidebar (24), membuat sidebar di wordpress (20), cara bikin widget sendiri (19), menambah sidebar wordpress (19), membuat sidebar blog (17), MEMBUAT SIDEbar pada blog (17), membuat widget di wordpress (17), cara membuat widget sendiri (16), cara membuat sidebar di wordpress (16), bagaimana membuat sidebar pada wordpress (16), cara buat widget sendiri (15), membuat sidebar di blog (14), membuat widget sendiri (12), membuat header widget wordpress (11), xwidget themes (11), cara membuat sidebar wordpress (10), menambah sidebar pada wordpress (10), fungsi widget wordpress (10), letak sidebar blog (8), cara membuat sidebar di blog (8), membuat widget wordpress sendiri (7), fungsi widget di wordpress (6), membuat side bar (6), apa itu sidebar (6), menambah sidebar di blog (5), menambah sidebar (5), cara membuka widget (5), menambah sidebar di wordpress (5), letak sidebar pada blogspot (5), cara membuat sidebar pada blog (4), dimana letak widget (4), membuat widget dengan php (4), cara membuat function php (4), letak sidebar pada wordpress (4), letak sidebar (4), fungsi widget pada wordpress (4), letak function php di wordpress (4), widget index untuk wordpress (4), dimana letak sidebar (4), buat widget sendiri (4), membuat sidebar dengan php (4), cara menampilkan widget di wordpress (4), cara menambah sidebar wordpress (4)
Daftar Isi Membuat Theme WP
- Cara Membuat Theme WordPress
- Membangun Theme WP: Style.css
- Membangun WP Theme: index.php
- Bikin Theme WP: Designing
- Bikin Tema WP: Layout
- Membuat Theme: Heading
- Buat Theme WordPress: Blog Header
- Buat Theme WP: Konten
- Mengatur Konten dalam Themes WordPress
- Styling Konten WordPress
- Membuat Sidebar Widget
- Styling Sidebar
- Membuat Footer
- Membuat Custom Background
- Membuat Drop Down Menu
- Search Form Gaya dengan Image
- Memasang Featured Image
- Memperbaiki tampilan halaman depan
- Membuat Featured Slide Show
- Bermain-main dengan Looping WordPress
- Memecah File Themes
- Memecah Sidebar
- Membuat File Single.php, archive.php, dll
oh ternyata script ini mas ya,yang untuk membuat area di widget,sip
Bener! Dan gak harus di sidebar lho, tapi bisa dimana aja
Ini yang paling saya cari… Download puluhan tutorial dari luar ternyata yang saya cari malah ada di negeri sendiri… Thanks, terimakasih, جزاكم الله خيرا!!!
thanks infonya sangat membantu.
Wah, saya dah coba tuh bang. tapi, koq kalo saya tambah widget baru di sidebar baru itu , koq widget itu berubah setelah di refresh bang?? Itu gimana ya bang?
Tolong pencerahannya. coba aja lihat blog saya tuh bang… makasih..
hadoh , makasih mas. jadi cerah buat bikin themes sendiri.
Thanks banget Infonya..
Ow iya. Tolong tambahkan juga penjelasan tentang
wp_loginout(). Mungkin ada temen2 disini yang masih belum pahamItu kan cuma untuk memunculkan menu login kalau dia belum login dan menu logout kalau dia sudah login
ah ribet juga ya, gak kayak blogspot. Kalo di blogspot kan ada menu layout, langsung klik aja mau 1, 2 atau 3 sidebar. Kalo wordpress dot com cuma bisa gonta ganti theme aja tp sidebar tetep aja satu. Tapi soal kecepatan emang lebih cepat wordpress dot com, kalo blogspot sering galat saat selesai edit trus klik pratinjau.
Ada 2 macam mainan robot: robot jadi, tinggal tekan tombol dia jalan. Tapi ada robot rakitan yang bisa diprogram apa aja.
Blogspot dan WordPress kayak gitu tuh.. hehehe.. Kalau mainan anak saya yang SD ya sekelas blogspot xixixi…
waduh bener2 ni kang admin…tapi ga papalah kalau pas sedang butuh bikin blog cepat sementara untuk upload pakai FTP lambat (saya gak suka installasi pakai fantastico) terpaksa pakai blogspot…tinggal utak-atik sedikit langsung jreng…
wah mas adiar180 masalah jumlah sidebar tergantung themenya…
bisa kok theme diutak-atik hingga memiliki jutaan sidebar yang semuanya widgetized sayang monitornya gak cukup…
saya pernah bikin theme wp sidebar kiri 2, sidebar kanan 2, footer bar 4…. tapi gak dipakai karena monitornya pas resolusi kecil content jadi tidak kelihatan…
Wah sial, gara-gara salah menamai file jadi bener. harusnya ‘functions.php’ eh malah ‘s’-hilang.. Tapi alhamdulilah udah beres.. Nice nice !!
lanjut ah,,,
Hahaha, saya juga kang… salah bikin nama 3 jam error nyariin mana yang salah… saya bikin file “fuctions.php” Kurang huruf “n”
Mas, saya yang nanya di twitter
Kok pas logout ada error code gini:
“Warning: Cannot modify header information – headers already sent by (output started at C:\xampp\htdocs\wordpress\wp-content\themes\diajar\functions.php:35) in C:\xampp\htdocs\wordpress\wp-login.php on line 353″
sudah saya oprek functions.php tapi tetep
Kemungkinan besar koding yang anda masukkan di functions.php themes ada kesalahan
Terima kasih panduannya
Saya punya masalah yang sama. Upaya terakhir file functions.php isinya dihapus tinggal dua baris:
hasilnya tetap warning…
Warning: Cannot modify header information – headers already sent by (output started at C:\www\data\wordpress\wp-content\themes\themegue\functions.php:2) in C:\www\data\wordpress\wp-login.php on line 349
Dimana kurangnya, tolong pencerahannya.
coba di cek di atas nah di lihat ada berapa disana kemungkinan disana seperti permasalahan saya juga itu
… cari di indeks.php permasalahannya … thanks mas lutvi ane jadi sedikit paham atas pembelajaran ini …
coba di cek di atas __ nah di lihat ada berapa __ disana kemungkinan disana seperti permasalahan saya juga itu
… cari di indeks.php permasalahannya … thanks mas lutvi ane jadi sedikit paham atas pembelajaran ini …
Met pagi mas Lutfi, beberapa kali coba widget selalu gagal, terakhir kali bisa enggak taunyapas di coba ternyata sidebar yang kanan melorot ke bawahnya sidebar yang kiri. itukenapa yaa.. terima kasih
Met pagi mas Lutfi, beberapa kali coba widget selalu gagal, terakhir kali bisa enggak taunyapas di coba ternyata sidebar yang kanan melorot ke bawahnya sidebar yang kiri. itu kenapa yaa.. terima kasih
btw lupa,saya lagi coba bikin theme di http://demo.beautyfunbiz.net/
Setelah saya praktekkan smuanya..
kok widget di wp-admin gax muncul ya…
tapi klo di tes di browser udah muncul.. mohon pencerahannya gan…
ane g tau tutor ini apa masih support sama wp 3.3….
tapi yg jelas kemarin ane buat sidebar dengan kode di atas tak ada yg saya ganti….
jadi ketika baru install (kata lain sidebar masih kosong) eh disidebar banyak widgetnya
ada search random post recent post dan yg lebih sadis style nya g kebaca g tau salahnya dimana tapi ketika saya buka widget ternyata ada isinya …..padahal belom saya masukin setelah saya hapus semua widgetnya kemuddian ane pasang lagi meta sama Link stylenya bisa bekerja dengan baik huff cpd kalau g ngerti gini
btw cara mem- Widgetized sidebar gmna thanks
Makasih Infonya… Punya saya malah tak hilangin widgetnya
ini pas di wp-admin nya kok ga tampil yah sidebarnya (menu-widget)..jadi kosong..oya saya pake WordPress 3.3..mohon bantuannya admin. Terima kasih
maaf…problem clear..ternyata salah di saya kurang “s”..sama seperti kasusnya mas cucu yg diatas..function.php awalnya..tp seakrang dah saya ganti jadi functions.php..dan dah keliatan sidebarnya di menu widget di wp-admin nya…makasih tutorialnya
Kirain buat blogger…
wkwkwk
Ini buat sidebar ya…