Make WordPress Core


Ignore:
Timestamp:
09/19/2008 05:31:00 AM (17 years ago)
Author:
ryan
Message:

Column hiding for users. see #7725

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/wp-admin/includes/template.php

    r8933 r8936  
    556556
    557557            return apply_filters('manage_link_categories_columns', $columns);
     558        case 'user':
     559            $columns = array(
     560                'cb' => '<input type="checkbox" />',
     561                'username' => __('Username'),
     562                'name' => __('Name'),
     563                'email' => __('E-mail'),
     564                'role' => __('Role'),
     565                'posts' => __('Posts')
     566            );
     567            return apply_filters('manage_users_columns', $columns);
    558568    }
    559569
     
    13911401    }
    13921402    $role_name = isset($wp_roles->role_names[$role]) ? translate_with_context($wp_roles->role_names[$role]) : __('None');
    1393     $r = "<tr id='user-$user_object->ID'$style>
    1394         <th scope='row' class='check-column'><input type='checkbox' name='users[]' id='user_{$user_object->ID}' class='$role' value='{$user_object->ID}' /></th>
    1395         <td>$edit</td>
    1396         <td>$user_object->first_name $user_object->last_name</td>
    1397         <td><a href='mailto:$email' title='" . sprintf( __('e-mail: %s' ), $email ) . "'>$email</a></td>
    1398         <td>$role_name</td>";
    1399     $r .= "\n\t\t<td class='num'>";
    1400     if ( $numposts > 0 ) {
    1401         $r .= "<a href='edit.php?author=$user_object->ID' title='" . __( 'View posts by this author' ) . "' class='edit'>";
    1402         $r .= $numposts;
    1403         $r .= '</a>';
    1404     } else {
    1405         $r .= 0;
    1406     }
    1407     $r .= "</td>\n\t</tr>";
     1403    $r = "<tr id='user-$user_object->ID'$style>";
     1404    $columns = get_column_headers('user');
     1405    $hidden = (array) get_user_option( 'manage-user-columns-hidden' );
     1406    foreach ( $columns as $column_name => $column_display_name ) {
     1407        $class = "class=\"$column_name column-$column_name\"";
     1408
     1409        $style = '';
     1410        if ( in_array($column_name, $hidden) )
     1411            $style = ' style="display:none;"';
     1412
     1413        $attributes = "$class$style";
     1414
     1415        switch ($column_name) {
     1416            case 'cb':
     1417                $r .= "<th scope='row' class='check-column'><input type='checkbox' name='users[]' id='user_{$user_object->ID}' class='$role' value='{$user_object->ID}' /></th>";
     1418                break;
     1419            case 'username':
     1420                $r .= "<td $attributes>$edit</td>";
     1421                break;
     1422            case 'name':
     1423                $r .= "<td $attributes>$user_object->first_name $user_object->last_name</td>";
     1424                break;
     1425            case 'email':
     1426                $r .= "<td $attributes><a href='mailto:$email' title='" . sprintf( __('e-mail: %s' ), $email ) . "'>$email</a></td>";
     1427                break;
     1428            case 'role':
     1429                $r .= "<td $attributes>$role_name</td>";
     1430                break;
     1431            case 'posts':
     1432                $attributes = 'class="posts column-posts num"' . $style;
     1433                $r .= "<td $attributes>";
     1434                if ( $numposts > 0 ) {
     1435                    $r .= "<a href='edit.php?author=$user_object->ID' title='" . __( 'View posts by this author' ) . "' class='edit'>";
     1436                    $r .= $numposts;
     1437                    $r .= '</a>';
     1438                } else {
     1439                    $r .= 0;
     1440                }
     1441                $r .= "</td>";
     1442        }
     1443    }
     1444    $r .= '</tr>';
     1445
    14081446    return $r;
    14091447}
     
    21822220    foreach ( $columns as $column => $title ) {
    21832221        // Can't hide these
    2184         if ( 'cb' == $column || 'title' == $column || 'name' == $column || 'media' == $column )
     2222        if ( 'cb' == $column || 'title' == $column || 'name' == $column || 'username' == $column || 'media' == $column )
    21852223            continue;
    21862224        if ( empty($title) )
Note: See TracChangeset for help on using the changeset viewer.