[Plugin: Verve Meta Boxes] Custom field type
-
Here are a few tweaks to the plug-in to expose a few hooks to make it possible to add custom field types. The changes also include a bug fix that assumes the location of your content directory. The diffs were generated against version 1.2.5
verve-meta-boxes.php
diff -w verve-meta-boxes/verve-meta-boxes.php verve-meta-boxes-custom/verve-meta-boxes.php 39,40d38 < global $field_types; < 45d42 < $field_types = array('text','textarea','radio','checkbox','select','image','file','date','time','datetime'); 46a44,50 > function verve_init_field_types_filter($types) { > return array_merge($types, array('text','textarea','radio','checkbox','select','image','file','date','time','datetime')); > } > add_filter('verve_init_field_types', 'verve_init_field_types_filter'); > function verve_get_field_types() { > return apply_filters('verve_init_field_types', array()); > } 277d280 < 451a455 > do_action('verve_meta_box_content', $f); 656c660 < $datepicker = get_bloginfo('wpurl') . '/wp-content/plugins/verve-meta-boxes/js/date.js'; --- > $datepicker = content_url() . '/plugins/verve-meta-boxes/js/date.js'; 659c663 < $jeditable = get_bloginfo('wpurl') . '/wp-content/plugins/verve-meta-boxes/js/jquery.jeditable.mini.js'; --- > $jeditable = content_url() . '/plugins/verve-meta-boxes/js/jquery.jeditable.mini.js'; 662c666 < $datepicker = get_bloginfo('wpurl') . '/wp-content/plugins/verve-meta-boxes/js/date-picker.js'; --- > $datepicker = content_url() . '/plugins/verve-meta-boxes/js/date-picker.js'; 665c669 < $qtip = get_bloginfo('wpurl') . '/wp-content/plugins/verve-meta-boxes/js/jquery.qtip-1.0.0-rc3.min.js'; --- > $qtip = content_url() . '/plugins/verve-meta-boxes/js/jquery.qtip-1.0.0-rc3.min.js'; 668c672 < $vervemeta = get_bloginfo('wpurl') . '/wp-content/plugins/verve-meta-boxes/js/verve-meta.js'; --- > $vervemeta = content_url() . '/plugins/verve-meta-boxes/js/verve-meta.js'; 674,675c678,679 < echo '<link type="text/css" rel="stylesheet" href="' . get_bloginfo('wpurl') . '/wp-content/plugins/verve-meta-boxes/css/verve-meta.css" />' . "\n"; < echo '<link type="text/css" rel="stylesheet" href="' . get_bloginfo('wpurl') . '/wp-content/plugins/verve-meta-boxes/css/date-picker.css" />' . "\n"; --- > echo '<link type="text/css" rel="stylesheet" href="' . content_url() . '/plugins/verve-meta-boxes/css/verve-meta.css" />' . "\n"; > echo '<link type="text/css" rel="stylesheet" href="' . content_url() . '/plugins/verve-meta-boxes/css/date-picker.css" />' . "\n";
meta_boxes.php
diff -w verve-meta-boxes/admin/meta_boxes.php verve-meta-boxes-custom/admin/meta_boxes.php 26d25 < global $field_types; 28a28 > $field_types = verve_get_field_types();
Then all you need is to make a few calls in your theme’s functions.php:
function my_verve_init_field_types($types) { $types[] = 'html'; return $types; } add_filter('verve_init_field_types', 'my_verve_init_field_types'); function my_verve_meta_box_content($f) { if($f->verve_meta_field_type=='html'){ $meta_box_value = get_post_meta($post->ID, $f->verve_meta_field_key, true); echo '<p><label for="'.$f->verve_meta_field_key.'">'.$f->verve_meta_field_name.$description.'</label>'; echo '<textarea name="'.$f->verve_meta_field_key.'" rows="3" cols="35" class="theEditor">'.$meta_box_value.'</textarea></p>'; } } add_action('verve_meta_box_content', 'my_verve_meta_box_content');
- The topic ‘[Plugin: Verve Meta Boxes] Custom field type’ is closed to new replies.