Tutorial: membuat Custom Write Panels di WordPress

Semua orang tahu bahwa Wordpress adalah salah satu CMS yang paling mudah dan ok,dan merupakan sistem blogging yang populer di internet saat ini. Untuk lebih memaksimalkan fungsi posting kita biasanya menggunakan 'Custom fields' tetapi bagi sebagian desainer ingin juga sesuatu yang lebih... agar custom fields nya itu lebih banyak opsi nya pada posting.

Ada juga yang menyebut istilah ini yaitu 'Custom Write Panel'. di dalam custom write panel kita bisa upload image/thumbnail langsung dari box postingnya atau memasukkan text maupun menggunakan checkbox.


 array(
"name" => "image",
"std" => "",
"title" => "Image",
"description" => "Using the \"Add an Image\" button, upload an image and paste the URL here.")
);

function new_meta_boxes() {
global $post, $new_meta_boxes;
 
foreach($new_meta_boxes as $meta_box) {
$meta_box_value = get_post_meta($post->ID, $meta_box['name'].'_value', true);
 
if($meta_box_value == "")
$meta_box_value = $meta_box['std'];
 
echo'';
 
echo'

'.$meta_box['title'].'

'; echo' '; echo' '; } } function create_meta_box() { global $theme_name; if ( function_exists('add_meta_box') ) { add_meta_box( 'new-meta-boxes', 'Brazen Post Settings', 'new_meta_boxes', 'post', 'normal', 'high' ); } } function save_postdata( $post_id ) { global $post, $new_meta_boxes; foreach($new_meta_boxes as $meta_box) { // Verify if ( !wp_verify_nonce( $_POST[$meta_box['name'].'_noncename'], plugin_basename(__FILE__) )) { return $post_id; } if ( 'page' == $_POST['post_type'] ) { if ( !current_user_can( 'edit_page', $post_id )) return $post_id; } else { if ( !current_user_can( 'edit_post', $post_id )) return $post_id; } $data = $_POST[$meta_box['name'].'_value']; if(get_post_meta($post_id, $meta_box['name'].'_value') == "") add_post_meta($post_id, $meta_box['name'].'_value', $data, true); elseif($data != get_post_meta($post_id, $meta_box['name'].'_value', true)) update_post_meta($post_id, $meta_box['name'].'_value', $data); elseif($data == "") delete_post_meta($post_id, $meta_box['name'].'_value', get_post_meta($post_id, $meta_box['name'].'_value', true)); } } add_action('admin_menu', 'create_meta_box'); add_action('save_post', 'save_postdata'); ?>

No comments

Post a Comment