本帖最后由 net2w 于 2015-01-03 18:43:24 编辑

解决方案 »

  1.   

     add_filter('manage_posts_columns', 'postjishu_admin_add_column');
    function postjishu_admin_add_column($columns){
        $columns['jishu'] = __('jishu');
        return $columns;
    }
    add_action('manage_posts_custom_column','postjishu_admin_show',10,2);
    function postjishu_admin_show( $column, $post_id ) {  
        global $post;  
        /*当然你可以用if语句*/  
        switch( $column ) {  
            /* 如果栏目是'jishu' 的时候 */  
            case 'jishu' :  
                /* 得到文章的元数据. */  
                $jishu = get_post_meta( $post_id, 'jishu', true );  
                /* 如果没有数据的时候给出默认显示数据为未知. */  
                if ( empty( $jishu ) )  
                    echo __( '未知' );  
                /* 如果存在数据的话我们把描述也加上*/  
                else  
                    printf( __( '更新至%s集' ), $jishu);  
                break;  
       
            /* 如果栏目是 'genre'的时候*/  
            case 'genre' :  
                /* 得到文章的相应分类. */  
                $terms = get_the_terms( $post_id, 'genre' );  
                /* 如果有数据的时候,显示并加链接  */  
                if ( !empty( $terms ) ) {  
                    $out = array();  
                    /* 循环输出,并加链接*/  
                    foreach ( $terms as $term ) {  
                        $out[] = sprintf( '<a href="%s">%s</a>',  
                                                    /*这个链接地址不是自定义的,你在edit.php里面可以看到Wp_Query($arg),在这里只给arg增加即可*/  
                            esc_url( add_query_arg( array( 'post_type' => $post->post_type, 'genre' => $term->slug ), 'edit.php' ) ),  
                            esc_html( sanitize_term_field( 'name', $term->name, $term->term_id, 'genre', 'display' ) )  
                        );  
                    }  
                    /* join数据,并用逗号分开 */  
                    echo join( ', ', $out );  
                }  
                /* 如果没有数据的时候给出默认显示数据为未知. */  
                else {  
                    _e( '没有分类' );  
                }  
                break;  
            /* 跳出switch语句 */  
            default :  
                break;  
        }  
    }  add_filter('manage_edit-post_sortable_columns', 'sort_postiuliang_column');
    add_filter('manage_edit-page_sortable_columns', 'sort_postiuliang_column');
    function sort_postiuliang_column($defaults)
    {
        $defaults['jishu'] = 'jishu';
        return $defaults;
    }
    add_action('pre_get_posts', 'sort_postiuliang');
    function sort_postiuliang($query) {
    if(!is_admin())
    return;
    $orderby = $query->get('orderby');
    if('jishu' == $orderby) {
    $query->set('meta_key', 'jishu');
    $query->set('orderby', 'meta_value_num');
    }
    }