Buat yang familiar dengan Wordpress, mungkin pernah melihat fungsi “Custom Filed” di bagian Post; tapi pasti jarang yang mempergunakannya. Fasilitas ini sesungguhnya satu rahasia kemampuan lain Wordpress. Jika sebelumnya kita menulis posting hanya bisa mengisi Title, Post, Category, Tags, Excerpt, maka dengan Custom Field kita bisa menambahkan fungsi-fungsi baru. Katakanlah kalau kita punya blog yang mengkhususkan diri pada resensi buku, kita bisa menambahkan form Judul Buku, Penerbit, ISBN, Penulis, dan lain sebagainya.
Caranya gampang. Di bagian bawah tempat posting biasa, kita akan menemukan form Custom Field ini. Di sana ada dua table: Key dan Value. Isi Key dengan Nama Fungsi tertentu, sementara Value isi dengan Kontent dari Nama Fungsi tersebut. Contoh isi Key dengan “Judul” dan isi Value dengan “Cantik itu Luka”. Setelah itu kita klik Add Custom Field.
Kita bisa menambah Key dan Value lainnya (misal Key=”Penulis”, Value=”Eka Kurniawan”). Setiap Key yang sudah dimasukkan (di-add), bisa dipergunakan di posting lainnya dengan memberi Value baru. Key yang sudah dimasukkan tersedia di menu drop-down (yang ada tulisan -select-).
Bagaimana menampilkan Custom Field ini di template? Gampang. Pergunakan kode ini untuk memanggil isi Custom Field:
<?php the_meta(); ?>
Jika mempergunakan contoh di atas, hasil kode di atas akan menjadi:
Kode di atas akan mengeluarkan semua isi Custom Field tanpa kecuali. Ok, barangkali kita ingin memiliki otoritas lebih untuk mengaturnya. Untuk itu kita harus mempergunakan kode:
get_post_meta()
Begini caranya:
<?php $judul = get_post_meta($post->ID, 'Judul', true); ?> <?php $penulis = get_post_meta($post->ID, 'Penulis', true); ?> //ganti 'Judul' dan 'Penulis' dengan Key kamu sendiri <?php echo '<strong>Judul:</strong> ' . $judul; ?> <?php echo '<strong>Penulis:</strong> ' . $penulis; ?>
Hasilnya akan sama:
Problemnya, barangkali tidak semua posting memiliki Custom Field (karena tidak semua posting berupa resensi buku, misalnya). Dengan cara seperti ini, di posting yang tak memiliki Custom Field “Judul” dan “Penulis”, tampilannya akan menjadi seperti ini:
Tentu saja itu tidak enak dilihat. Kita harus mencari cara bagaimana Custom Field hanya tampil kalau memang ada isinya. Saya mencoba ini di template, dan berhasil:
<?php $judul = get_post_meta($post->ID, 'Judul', true); ?> <?php $penulis = get_post_meta($post->ID, 'Penulis', true); ?> //ganti 'Judul' dan 'Penulis' dengan 'Key' kamu sendiri <?php if($judul !== '') echo '<strong>Judul:</strong> ' . $judul . '<br />'; ?> <?php if($penulis !== '') echo '<strong>Penulis:</strong> ' . $penulis . '<br />'; ?>
Dengan cara ini, hanya posting yang memiliki Custom Field dengan Key “Judul” dan “Penulis” yang akan menampilkan kode di atas. Oh ya sebelum lupa, masukkan kode di atas di dalam Loop, sebab tanpa itu, $post->ID tidak akan dikenali. Semoga berguna.