Advertisement
MoonWatch

Untitled

May 20th, 2014
364
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // Add term page
  2. function pippin_taxonomy_add_new_meta_field() {
  3.     // this will add the custom meta field to the add new term page
  4.     ?>
  5.    
  6.     <div class="form-field">
  7.         <label for="term_meta[hex]"><?php _e( 'Hex Color', 'pippen' ); ?></label>
  8.         <input type="text" name="term_meta[hex]" id="term_meta[hex]" value="">
  9.         <p class="description"><?php _e( 'Enter a value for this field','pippen' ); ?></p>
  10.     </div>
  11.    
  12.     <div class="form-field">
  13.         <label for="term_meta[former_employee]"><?php _e( 'Former Employee?', 'pippen' ); ?></label>
  14.         <input type="checkbox" name="term_meta[former_employee]" value="<?php echo esc_attr( $term_meta['former_employee'] ) ? esc_attr( $term_meta['former_employee'] ) : ''; ?>" <?php checked( $term_meta['former_employee'], 1 ); ?> />
  15.         <p class="description"><?php _e( 'Enter a value for this field','pippen' ); ?></p>
  16.     </div>
  17.    
  18. <?php
  19. }
  20. // {$taxonomy_name}_add_form_fields, function, priority
  21. add_action( 'myplugin_employees_add_form_fields', 'pippin_taxonomy_add_new_meta_field', 10, 2 );
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28. // Edit term page
  29. function pippin_taxonomy_edit_meta_field($term) {
  30.  
  31.     // put the term ID into a variable
  32.     $t_id = $term->term_id;
  33.  
  34.     // retrieve the existing value(s) for this meta field. This returns an array
  35.     $term_meta = get_option( "taxonomy_$t_id" );
  36. ?>
  37.  
  38.  
  39.  
  40.     <tr class="form-field">
  41.     <th scope="row" valign="top">
  42.       <label for="term_meta[hex]"><?php _e( 'Hex Color', 'pippen' ); ?></label>
  43.     </th>
  44.         <td>
  45.             <input type="text" name="term_meta[hex]" id="term_meta[hex]" value="<?php echo esc_attr( $term_meta['hex'] ) ? esc_attr( $term_meta['hex'] ) : ''; ?>">
  46.             <p class="description"><?php _e( 'Enter a value for this field','pippen' ); ?></p>
  47.         </td>
  48.     </tr>
  49.  
  50.     <tr class="form-field">
  51.     <th scope="row" valign="top">
  52.       <label for="term_meta[former_employee]"><?php _e( 'Former Employee?', 'pippen' ); ?></label>
  53.     </th>
  54.         <td>
  55.             <input type="checkbox" name="options[postlink]" value="<?php echo esc_attr( $term_meta['former_employee'] ) ? esc_attr( $term_meta['former_employee'] ) : ''; ?>" <?php checked( $term_meta['former_employee'], 1 ); ?> />     
  56.             <p class="description"><?php _e( 'Enter a value for this field','pippen' ); ?></p>
  57.         </td>
  58.     </tr>
  59.    
  60. <?php
  61. }
  62. // {$taxonomy_name}_edit_form_fields, function, priority
  63. add_action( 'myplugin_employees_edit_form_fields', 'pippin_taxonomy_edit_meta_field', 10, 2 );
  64.  
  65.  
  66.  
  67.  
  68. // Save extra taxonomy fields callback function.
  69. function save_taxonomy_custom_meta( $term_id ) {
  70.     if ( isset( $_POST['term_meta'] ) ) {
  71.         $t_id = $term_id;
  72.         $term_meta = get_option( "taxonomy_$t_id" );
  73.         if ( ! isset( $_POST['term_meta']['former_employee'] ) ) {
  74.             $_POST['term_meta']['former_employee'] = '';
  75.         }
  76.         $cat_keys = array_keys( $_POST['term_meta'] );
  77.         foreach ( $cat_keys as $key ) {
  78.             if ( isset ( $_POST['term_meta'][$key] ) ) {
  79.                 $term_meta[$key] = $_POST['term_meta'][$key];
  80.             }
  81.         }
  82.         // Save the option array.
  83.         update_option( "taxonomy_$t_id", $term_meta );
  84.     }
  85. }
  86. // edited_{$taxonomy_name}, function, priority
  87. // create_{$taxonomy_name}, function, priority
  88. add_action( 'edited_myplugin_employees', 'save_taxonomy_custom_meta', 10, 2 );  
  89. add_action( 'create_myplugin_employees', 'save_taxonomy_custom_meta', 10, 2 );
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement