pasang custom field yang ada di posting pada wordpress

Posted on November 15, 2010

1


Sesuai janji saya beberapa hari lalu untuk memberikan tips untuk membuat custom field di wordpress yang berguna bagi desainer themes wp, kali ini benar2 akan memberikan tutorial dan source code bagaimana membuat custom field hadir di post editor.
Custom field menjadi begitu trend akhir2 ini, terutama karena begitu banyak para desainer wordpress themes yang bermunculan, terutama yang membuat saya kagum adalah para designer dari dalam negeri yang menginvasi luar negeri.
Custom Field biasanya dipakai untuk menghadirkan thumbnail image dan large image di blog themes wordpress walaupun sebenarnya keperluannya lebih luas lagi. Tujuan custom field sebenarnya adalah untuk memisahkan antara content murni post dan value-value lain di luar content blog. Custom field bisa dipanggil dan tentunya juga bisa dinon-aktifkan sesuai kebutuhan.
Nah, supaya tidak berbasa basi, saya kebetulan bukan designer blog, tapi senang mengutak-atik code terutama karena ngerti bahasa PHP dan senang mengobservasi wordpress, saya ingin berikan kode untuk membuat custom field box sehingga wordpress anda lebih fleksible tanpa harus memberikan key dan valuenya secara manual lagi. Ketika code ini terupload ke folder themes, maka secara otomatis custom field box akan hadir di editor post / post editor.
Berikut ini caranya :
Masukkan / selipkan code di bawah ini di file functions.php, selipkan di mana aja terserah. Jika di themes anda tidak ada file functions.php, mungkin bisa ciptakan file baru.

array (
“name” => “image”,
“default” => “”,
“label” => “Screenshot (330×190)”,
“type” => “text”,
),
“large-image” => array (
“name” => “large-image”,
“default” => “”,
“label” => “Large Image (Max Width: 690px)”,
“type” => “text”,
),
“url” => array (
“name” => “url”,
“default” => “”,
“label” => “Website URL”,
“type” => “text”,
),
);
function foo_meta_box_content() {
global $post, $wt_metaboxes;
echo ‘

‘.”\n”;
foreach ($wt_metaboxes as $wt_metabox) {
$wt_metaboxvalue = get_post_meta($post->ID,$wt_metabox[“name”],true);
if ($wt_metaboxvalue == “” || !isset($wt_metaboxvalue)) {
$wt_metaboxvalue = $wt_metabox[‘default’];
}
echo “\t”.’
‘;
echo “\t\t”.’

‘.”\n”;
echo “\t\t”.’

‘.”\n”;
echo “\t”.’

‘.”\n”;
}
echo ‘

‘.”\n\n”;
}
function foo_metabox_insert($pID) {
global $wt_metaboxes;
foreach ($wt_metaboxes as $wt_metabox) {
$var = “foo_”.$wt_metabox[“name”];
if (isset($_POST[$var])) {
add_post_meta($pID,$wt_metabox[“name”],$_POST[$var],true) or update_post_meta($pID,$wt_metabox[“name”],$_POST[$var]);
}
}
}
function foo_meta_box() {
if ( function_exists(‘add_meta_box’) ) {
add_meta_box(‘foo-settings’,’Additional Fields (Optional)’,’foo_meta_box_content’,’post’,’normal’);
add_meta_box(‘foo-settings’,’Additional Fields (Optional)’,’foo_meta_box_content’,’page’,’normal’);
}
}
add_action(‘admin_menu’, ‘foo_meta_box’);
add_action(‘wp_insert_post’, ‘foo_metabox_insert’);
?>
Kode ini sudah saya coba pakai di WordPress versi 2.7, utk versi 2.3 saya test, tapi ga jalan.. silahkan coba sendiri,
copy dan paste kode tsb sesuai petunjuk pemakaian di atas.
Screenshotnya seperti ini yang hadir di bawah editor post:

Dengan code diatas, anda bisa bikin wordpress themes berbau foto album dan bahkan membikin form seperti TDO-MINI-FORMS !