web-dev-qa-db-fra.com

Ajouter une colonne personnalisée au panneau d’administration des utilisateurs avec des champs types d’utilisateur?

J'ai ajouté des colonnes personnalisées mais je ne sais pas comment obtenir la date à afficher dans les champs ... et j'ai une erreur dans mon code. Quelqu'un peut aider?

Merci

Voici le code:

function new_modify_user_table( $column ) {
    $column['les-non-specialistes'] = 'Non-spécialiste';
    $column['specialistes'] = 'Spécialiste';
    return $column;
}
add_filter( 'manage_users_columns', 'new_modify_user_table' );

function new_modify_user_table_row( $val, $column_name, $user_id ) {
    $user = get_userdata( $user_id );
    switch ($column_name) {
        case 'les-non-specialistes' :
            return get_the_author_meta( 'les-non-specialistes', $user_id );
            break;
        case 'specialistes' :
            return '';
            break;
        default:
    }
    return $return;
}
add_filter( 'manage_users_custom_column', 'new_modify_user_table_row', 10, 3 );

enter image description here

2
Mel

Pour corriger l'erreur, vous pouvez faire quelque chose comme ceci:

 function new_modify_user_table_row( $val, $column_name, $user_id ) {
    $user = get_userdata( $user_id );
    switch ($column_name) {
        case 'les-non-specialistes' :
            return get_the_author_meta( 'les-non-specialistes', $user_id );
            break;
        case 'specialistes' :
            return '';
            break;
        default:
    }
    return $val; //<-- Changed
  }

En ce qui concerne la date, quelle date recherchez-vous? Dans quelle colonne doit-il entrer (une nouvelle)?

Je vais essayer de deviner. J'espère que cela vous aidera à démarrer. En général, si vous voulez ajouter la dernière date de modification, vous pouvez faire quelque chose comme ceci (code non testé):

case 'last-modified': //<-- new column that maybe you added above
  global $post;
  $ugly_date = $post->post_modified;
  $pretty_date = date("Y, M, jS",strtotime($ugly_date)); //<-- format as desired.  There are smarter ways of doing this part
  return $pretty_date;
  break;

(référence: http://codex.wordpress.org/Function_Reference/ $ post)

Bonne chance,

1
JJ Rohrer