Revision: 33651
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at October 11, 2010 21:55 by imeiva
Initial Code
<?php /*custom post types */ add_action( 'init', 'create_post_types' ); function create_post_types() { //vehicles register_post_type( 'wel_vehicle', array( 'labels' => array( 'name' => __( 'Vehicles' ), 'singular_name' => __( 'Vehicle' ) ), 'public' => true, 'rewrite' => array('slug' => 'vehicles'), 'supports'=>array( 'title', 'editor', 'thumbnail', 'custom-fields', 'excerpt' ) ) ); //furniture register_post_type( 'wel_furniture', array( 'labels' => array( 'name' => __( 'Furniture' ), 'singular_name' => __( 'Furniture' ) ), 'public' => true, 'rewrite' => array('slug' => 'furniture') ) ); //machinery register_post_type( 'wel_machinery', array( 'labels' => array( 'name' => __( 'Machinery' ), 'singular_name' => __( 'machinery' ) ), 'public' => true, 'rewrite' => array('slug' => 'machinery') ) ); } /*custom meta boxes */ add_action('add_meta_boxes','mycustom_meta_box'); //when post is saved add_action('save_post', 'save_features'); function mycustom_meta_box(){ add_meta_box('v_feats',__('Vehicle Features','myplugin_text_domain'), 'mycustom_fields','wel_vehicle'); } function mycustom_fields(){ //user nonce for verirfication wp_nonce_field(plugin_basename(__FILE__),'myplugin_noncename'); //vehicle sale type-rent/sale $v_type="<label for=\"vehicle_type\"><strong>For Sale or Rent</strong></label><br>"; $v_type.="<select name=\"sale_type\" id=sale_type>"; $v_type.="<option>For Sale</option>"; $v_type.="<option>To Rent</option>"; $v_type.="</select><br><br>"; //vehicle price $v_type.="<label for=\"price\"><strong>Price</strong></label><br>"; $v_type.="<input type=\"text\" name=\"v_price\" /><br><br>"; //vehicle condition $v_type.="<label for=\"condition\"><strong>Vehicle Condition</strong></label><br>"; $v_type.="<select name=\"v_condition\">"; $v_type.="<option>Used</option>"; $v_type.="<option>New</option>"; $v_type.="</select><br><br>"; //vehicle transmission $v_type.="<label for=\"tranmission\"><strong>Vehicle Transmission</strong></label><br>"; $v_type.="<select name=\"v_transmission\">"; $v_type.="<option>Automatic</option>"; $v_type.="<option>Manual</option>"; $v_type.="</select><br><br>"; echo $v_type; } function save_features($post_id){ // verify this came from the our screen and with proper authorization, // because save_post can be triggered at other times if ( !wp_verify_nonce( $_POST['myplugin_noncename'], plugin_basename(__FILE__) )) { return $post_id; } // verify if this is an auto save routine. If it is our form has not been submitted, so we dont want // to do anything if ( defined('DOING_AUTOSAVE') && DOING_AUTOSAVE ) return $post_id; // Check permissions 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; } // OK, we're authenticated: we need to find and save the data update_post_meta($post_id,$sale_type,$_POST['sale_type']); } /*custom taxonomies*/ //vehicle type taxom(from tommy's mamalia,carnivore') //client can add other vehicle makes e.g hummer toyotajeep // and query for single model register_taxonomy('vehicle_make', 'wel_vehicle', array('hierarchical' => false, 'label' => 'Vehicle Make', 'query_var' => true, 'rewrite' => true)); ?>
Initial URL
wpextend
Initial Description
Initial Title
wordpress custom post types meta box and fields
Initial Tags
wordpress
Initial Language
PHP