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.

Wordpress memiliki dua jenis section: post dan page. Post untuk menulis blog biasa (dinamis), sementara page untuk menulis halaman yang cenderung statis. Halaman-halaman “page” biasanya berderet di atas menyerupai navigasi. Problemnya adalah ketika kita ingin membuat halaman “page” yang isinya dinamis. Misalnya: domain.com/blog dimana kita ingin menempatkan “blog” tidak di halaman utama. Atau: domain.com/esai dimana kita ingin membuat halaman esai yang isinya blog denga kategori esai.

Wordpress mengatasinya dengan “page template”. Kita harus membuat dulu halaman php sebagai template (dan disimpan di folder themes yang dipergunakan). Misalnya: esai.php. Halaman ini harus berisi:

<?php
/*
Template Name: Esai / * (Ini harus ada sebagai nama template)
*/

//  Untuk menentukan bahwa ini ada di "page"?
$paged = get_query_var('paged');
query_posts('cat=2&paged='.$paged);

/* cat=2, menunjukkan hanya category dengan id=2
/* kalau mau semua isi blog masuk, tulis cat=-0

// ini untuk mengeluarkan tag "more".
global $more;
$more = 0;

// ambil file index.php (atau file lain) untuk layout tampilan.
load_template(TEMPLATEPATH . '/ index.php');
?>

setelah itu, kamu bikin halaman Esai di admin Wordpress (Write - Page). Di bagian bawah ada Paga Template, pilih Esai.

Jadi deh halaman Esai, yang muncul di navigasi atas, tapi isinya blog dengan kategori esai (yang di contoh memiliki id=2).

Untuk Halaman Depan
Problemnya kalau kita mau menempatkan halaman semacam ini (katakanlah halaman Esai) untuk tampil di halaman depan (front page). Tentu saja Wordpress menyediakan cara untuk ini yang umum diketahui: Masuk ke Setting, trus ke Reading. Di kolom Front page display: pilih A static page (select below). Di pilihan Front page: kita pilih halaman Esai. Ini artinya, kita ingin halaman Esai (yang isinya blog dari kategori Esai) tampil di halaman depan, menggantikan default yang biasanya seluruh isi blog tampil.

Cara ini berhasil untuk halaman depan. Tapi sebagaimana sudah saya coba, begitu mengklik halaman berikutnya (katakanlah satu halaman ada 5 posting, nah halaman berikutnya berarti kita mau melihat halaman 6 sampai 10), keadaan mulai kacau. Ternyata Wordpress tidak menampilkan halaman Esai dari posting ke 6 sampai 10, melainkan halaman blog secara keseluruhan dari posting 6 hingga 10. Artinya, ada posting-posting non kategori Esai yang juga masuk.

Coba bandingkan keadaanya antara: domain.com/page/2 dan domain.com/esai/page/2. Asumsi kita mestinya isinya sama, karena halaman depan kita mempergunakan halaman esai. Ternyata yang sama hanya halaman satu, halaman dua dan berikutnya menampakkan perbedaan. Problem ini terjadi karena, pada domain.com/page/2 Wodpress hanya mengambil template dari index.php, tanpa melalui template esai.php yang sudah kita buat. esai.php hanya dipanggil di halaman pertama saja.

Dengan keadaan seperti itu, cara diatas tidak bisa saya pakai (mungkin ada cara lain, saya belum tahu). Untuk menampilkan halaman depan (dan halaman-halaman berikutnya), dari satu kategori tertentu, saya memilih untuk melakukannya langsung dengan menambah kode di index.php. Tapi sebelumnya, karena index.php ini banyak dipergunakan oleh yang lain, kita bikin back-up dan dimpan misalnya dengan nama category.php (kalau file ini tidak ada, secara default semua kategori akan mempergunakan index.php, tapi kalau ada, akan mempergunakan category.php).

Cara ini relatif gampang. Edit index.php dan bubuhkan kode ini:

<!--UNTUK MEMILIH SATU KATEGORI SAJA-->
<?php query_posts($query_string.'&cat=2'); ?>
<!--UNTUK MEMILIH SATU KATEGORI SAJA-->

tepat sebelum baris kode ini (yang pasti ada di setiap template index.php di folder theme yang dipergunakan):

<?php if (have_posts()) : ?>

penggunaan $query_string diperlukan untuk bisa menampilkan posting dari kategori yang sama di halaman depan maupun halaman-halaman berikutnya. cat=2 menunjukan kategori dengan id=2. Dengan cara ini, saya berhasil menampilkan halaman depan hanya dari kategori tertentu.

Ini mengatasi salah satu kelemahan Wordpress yang tidak memiliki banyak section. Dengan cara ini, kita bisa bikin multi-blog. Tinggal bikin kategori blog1, blog2, dst. Kemudian bikin masing-masing kategori ini halaman sendiri sebagaimana contoh halaman esai di atas. Sehingga kita bisa memiliki lebih dari satu blog: domain.com/blog1, domain.com/blog2, dst.

Tags:
Waktu jalan. Aku tidak tahu apa nasib waktu?
Pemuda-pemuda yang lincah yang tua-tua keras,
bermata tajam
Mimpinya kemerdekaan bintang-bintangnya
kepastian
ada di sisiku selama menjaga daerah mati ini
Aku suka pada mereka yang berani hidup
Aku suka pada mereka yang masuk menemu malam
Malam yang berwangi mimpi, terlucut debu……
Waktu jalan. Aku tidak tahu apa nasib waktu!

Pernahkah membayangkan baris-baris puisi Chairil Anwar disusun ulang? Apakah itu akan menghasilkan puisi baru? Sila klik baris mana pun dari puisi di atas, untuk mengubah posisi baris-barisnya. Versi baru “Prajurit Jaga Malam” ini dibuat dengan bantuan framework Javascript dari Script.aculo.us.

Ada lima puisi Chairil Anwar lainnya, dengan percobaan yang sama Klik di Sini.

Saya sempat bingung ketika mencoba membuat tumbnail video YouTube. Saya mencobanya dengan cara mendeklarasikan OBJECT dengan lebar dan tinggi tertentu di CSS style. Tentu saja saya juga memberi deklarasi !important agar parameter ukuran lain dilewati. tapi ternyata video hanya berhasil diperkecil jika dibuka di browser Safari. Di Firefox gagal total.

Setelah utak-atik dan mencoba-coba, akhirnya saya mengganti style OBJECT dengan EMBED. Sekarang kasusnya terbalik. Firefox berhasil mengecilkan ukuran video, tapi Safari gagal total.

Uh, akhirnya saya memasang baik OBJECT maupun EMBED di style CSS, tentu dengan parameter yang sama. Syukurlah, akhirnya baik Firefox maupun Safari sama-sama mau mengecilkan video tersebut.

Aneh, ya? Perbedaan standar browser benar-benar merepotkan. Belum lagi kalau memperhitungkan Internet Explorer. Pwah!

Sekarang udah bisa pasang email di domain sendiri (misalnya namamu@domainmu.com), dengan cara mengisi mx records google app. Kamu masuk ke domain manajer di tempat kamu registrasi domain, atau di tempat kamu hosting, terus cari MX Record. Biasanya sudah ada default: domainmu.com. (Tempatnya bisa berbeda-beda, kalau bingung, tanya ke costumer service tempat kamu hosting atau beli domain). Nah, ini ganti dengan:

aspmx.l.google.com.

(Jangan lupa ada titik [.] di ujungnya [aspmx.l.google.com.] bukan [aspmx.l.google.com]).

Trus, kamu pergi ke google app (http://google.com/a/). Sign-Up di sana. Pilih Standar Edition yang free. Masukkan nama domainmu (misalnya domainmu.com tadi) di kolom yang tersedia (tentu saja kamu harus mempunyai/membeli dulu domain ini). Jangan lupa mengklik terlebih dahulu pilihan “Administrator: I own or control this domain“. Klik Get Started.

Isi kolom-kolom yang tersedia (nama, alamat, dan sebagainya, sebagaimana kalau mendaftar bikin email).

Setelah itu (di halaman berikutnya setelah mengisi bagian atas), kamu harus isi administration setup. Di sini kamu bikin email pertamamu dengan domain tersebut. Isi misalnya, info@domainmu.com, terus pilih passwordnya. Setelah itu akan muncul halaman warning (agak tak terlihat jadi harus cermat), dimana ada tulisan “To activate Google Apps services you must verify that you own your domain - domainmu.com. Verify domain ownership Get Started Guide“. Klik bagian Verify domain ownership.

Di bagian Verify your domain ownership, pilih Chose verification methode … dengan Upload an HTML file. Nah, kamu tinggal bikin halaman googlehostedservice.html, yang isinya diberikan google di bawahnya, ke halaman root (halaman utama yang ada index.html) di domainmu.com. Setelah itu kamu tinggal klik verify. Ini untuk membuktikan bahwa domain itu memang milikmu.

Pekerjaan sudah selesai. Untuk masuk ke Inbox emailmu (info@domainmu.com tadi), tinggal masuk kembali ke http://google.com/a/. Kali ini klik Returning user, sign in here, trus masukkan nama domainmu (misalnya domain.com). Setelah itu klik Sign In di menu Email.

Kemudian akan muncul halaman login. Isi username dengan nama yang sudah kamu pilih (kalau kamu pilih email info@domainmu.com, maka tinggal isi info), beserta password. Setelah masuk, di kolom Email, tinggal klik Inbox. Selesai.

Menggabung dengan Email yang Sudah Ada di Gmail

Agar proses membuka inbox info@domainmu.com ini tidak ribet, bagaimana kalau digabung saja dengan emailmu yang lain di gmail? Ini gampang. Di halaman inbox info@domainmu.com, klik Setting. Klik lagi Forwarding and POP/IMAP. Di kolom Forwarding, Forward a copy of incoming mail to, masukan emailmu yang di gmail (katakan kamu punya email namamu@gmail.com). Save setting. Selesai. Sekarang, semua email yang datang ke info@domainmu.com, akan masuk ke namamu@gmail.com.

Problem terakhir, bagaimana caranya agar kamu bisa mengirim email dari namamu@gmail.com (artinya dari gmail.com), tapi dengan account info@domainmu.com (sehingga konsisten menerima dan mengirim dengan email yang sama). Ini juga gampang:

Kamu login ke emailmu di gmail.com (namamu@gmail.com). Klik Setting. Klik Accounts. Di bagian Send mail as:, klik Add another email address. Setelah muncul halaman pop-up, masukkan emailmu yang di domainmu (info@domainmu.com). Setelah itu gmail akan meminta kamu mengklik Send Verification (yang artinya, ada email ke info@domainmu.com untuk membuktikan email itu memang punyamu).

Sekali lagi kembali ke inbox info@domainmu.com di http://google.com/a/ (caranya seperti di atas). Ambil kode yang baru saja dikirim gmail. Masukkan kode itu ke halaman verify yang masih terbuka (pop-up). Kalau halaman pop-up ini keburu ditutup, gampang saja. Kembali ke inbox namamu@gmail.com, setting, accounts, di Send mail as: email info@domainmu.com sudah ada, klik bagian verify dan masukkan kode tersebut. Kalau mau, klik make default, agar email info@domainmu.com itu jadi email utama di gmailmu itu.

Selesai. Sekarang kamu bisa menerima dan mengirim email dengan nama info@domainmu.com dari namamu@gmail.com. Ini artinya, kamu punya email dengan domainmu sendiri, tapi tak perlu dipusingkan dengan masalah ruang inbox (karena kapasitas gmail besar sekali), sekaligus mempergunakan kemampuan gmail memfilter spam (ini yang penting). Satu lagi: bisa dibuka dimana saja selama ada internet karena gmail berbasis web!

Puisi Nerd @ 13 April 2008, “1 Comment”

kuning hijau hitam merah biru abu-abu oranye
coklat pink ungu kuning hijau
hitam merah biru abu-abu oranye coklat pink
ungu kuning hijau hitam merah biru
abu-abu oranye coklat pink ungu kuning hijau
hitam merah biru abu-abu oranye coklat pink ungu kuning
hijau hitam merah biru abu-abu oranye coklat pink
ungu kuning hijau hitam merah biru abu-abu
oranye coklat pink ungu kuning hijau
hitam merah biru abu-abu oranye
coklat pink ungu kuning hijau hitam merah biru
abu-abu oranye coklat pink ungu kuning hijau hitam
merah biru abu-abu oranye coklat pink
ungu kuning hijau hitam merah biru
abu-abu oranye coklat pink ungu
kuning hijau hitam merah biru abu-abu oranye coklat
pink ungu kuning hijau hitam
merah biru abu-abu oranye coklat pink ungu