WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Currently the Term Database has four columns. term_id name slug term_group. I would like to add another column called menu_order.

How can i do this?

The outcome i want is to be able to order my custom terms.

If anyone knows of a beter way to do this please let me know. So far i already have code that sets up the input box. I just need help trying to order it using the get_terms() function.

add_action ( 'section_edit_form_fields', 'create_section_menu_order');
function create_section_menu_order( $tag ) 
    //check for existing featured ID
    $section_order = get_option( 'section_menu_order' );
    $order_id = '';
    if ( is_array( $section_order ) && array_key_exists( $tag->term_id, $section_order ) ) {
        $order_id = $section_order[$tag->term_id];
        <tr class="form-field">
            <th scope="row" valign="top"><label for="section_menu_order"><?php _e('Order') ?></label></th>
                <input type="text" name="section_menu_order" id="section_menu_order" size="10" style="width:60px;" maxlength="6" value="<?php echo $order_id; ?>"><br />
                <span class="description">The order your Sections will show. (Numeric digits only)</span>

add_action ( 'edited_section', 'save_section_menu_order');
function save_section_menu_order( $term_id ) 
    if ( isset( $_POST['section_menu_order'] ) && is_numeric($term_id)) 
        $section_menu_order = get_option( 'section_menu_order' ); //load existing category featured option
        $section_menu_order[$term_id] = intval( $_POST['section_menu_order'] ); //set featured post ID to proper category ID in options array   
        update_option( 'section_menu_order', $section_menu_order ); //save the option array
share|improve this question
up vote 0 down vote accepted

I have a feeling that modifying that table is not a good idea.

I hadn't done something like this, but if I needed to deal with considerable amount of meta information for terms I'd try to leverage Metadata API, which for terms would involve setting up separate storage table.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.