Add Column to Term Database

时间:2011-06-26 作者:cnotethegr8

目前,术语数据库有四列。term_id name slug term_group. 我想添加另一个名为menu_order.

我该怎么做?

我想要的结果是能够订购我的自定义条款。

如果有人知道更好的方法,请告诉我。到目前为止,我已经有了设置输入框的代码。我只是需要帮助,试着用get_terms() 作用

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>
            <td>
                <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>
            </td>
        </tr>
    <?php
}

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
    }
}

1 个回复
最合适的回答,由SO网友:Rarst 整理而成

我觉得修改那张桌子不是个好主意。

我没有做过这样的事情,但如果我需要处理大量的术语元信息,我会尝试利用Metadata API, 其中的条款包括setting up separate storage table.

结束

相关推荐

允许用户从WordPress编辑主页(home.php问题)

我想知道如何创建一个带有自定义设计的主页,比如横幅,它的布局与其他页面不同,同时允许用户编辑它。我以前用过home.php 问题是用户无法编辑它。。。除非他们懂PHP。一个选项是为主页的每个部分创建短代码,例如。[banner], [services] 甚至是一个空标签[latestBlogPosts] 我认为这是不对的。实现这一点的方法是什么?典型主页下方的快速“模型”wordpress的最新博客文章和投资组合都是动态的。