Tri de colonne personnalisée dans le backoffice utilisateurs (Créer un compte)

  • Statut : non résolu
2 sujets de 1 à 2 (sur un total de 2)
  • Auteur
    Messages
  • #552126
    Timama
    Participant
    Chevalier WordPress
    284 contributions

    Bonjour,

    Ma configuration WP actuelle
    – Version de WordPress : 4.2.2
    – Version de PHP/MySQL :
    – Thème utilisé : Le mien
    – Extensions en place : Aucune
    – Nom de l’hebergeur : STRATO
    – Adresse du site :

    Problème(s) rencontré(s) :

    Bonjour,

    Dans le back office et dans la partie utilisateur, j’ai ajouté une colonne « Raison sociale ».
    Quand je regarde la liste des utilisateurs, cette colonne apparaît et la raison sociale de chaque utilisateur aussi.
    Le code suivant est donc bon :

    add_filter(‘manage_users_columns’, ‘pippin_add_user_raisonsociale’);
    function pippin_add_user_raisonsociale($columns) {
    $columns[‘raisonsociale’] = ‘Raisonsociale’;
    return $columns;
    }

    add_action(‘manage_users_custom_column’, ‘pippin_show_user_raisonsociale’, 10, 3);
    function pippin_show_user_raisonsociale($value, $column_name, $user_id) {
    $user = get_userdata( $user_id );
    $raisonsociale = $user->raisonsociale;
    if ( ‘raisonsociale’ == $column_name )
    return $raisonsociale;
    return $value;
    }

    Mais voilà, j’aimerai que pour cette colonne le tri alphabétique soit possible.
    j’ai essayé avec le code suivant (et d’autres choses) mais je n’ai toujours pas trouvé… l’option « tri » n’apparaît pas

    add_filter(« request », « raisonsociale_column_orderby » );

    function raisonsociale_column_register_sortable( $columns ) {
    $columns[‘raisonsociale’] = ‘Raisonsociale’;
    return $columns;
    }

    function raisonsociale_column_orderby( $vars ) {
    if ( isset( $vars[‘orderby’] ) && ‘raisonsociale’ == $vars[‘orderby’] ) {
    $vars = array_merge( $vars, array(
    ‘meta_key’ => ‘raisonsociale’,
    ‘orderby’ => ‘meta_value’,
    ‘order’ => ‘asc’
    ) );
    }
    return $vars;
    }

    Est ce que vous voyez un truc que j’aurai mal écrit ou bien un indice?

    merci beaucoup pour votre aide

    Timama

    #1013571
    Timama
    Participant
    Chevalier WordPress
    284 contributions

    alors à la place de

    add_filter(« request », « raisonsociale_column_orderby » );

    function raisonsociale_column_register_sortable( $columns ) {
    $columns[‘raisonsociale’] = ‘Raisonsociale’;
    return $columns;
    }

    j’ai mis

    function user_sortable_columns( $columns ) {
    $columns[‘raisonsociale’] = ‘Raisonsociale’;
    return $columns;
    }
    add_filter( ‘manage_users_sortable_columns’, ‘user_sortable_columns’ );

    et là, la colonne apparaît triable.

    Mais le tri alphabétique ne fonctionne pas….
    Donc je n’ai plus que cette partie qui ne fonctionne pas

    function raisonsociale_column_orderby( $vars ) {
    if ( isset( $vars[‘orderby’] ) && ‘raisonsociale’ == $vars[‘orderby’] ) {
    $vars = array_merge( $vars, array(
    ‘meta_key’ => ‘raisonsociale’,
    ‘orderby’ => ‘meta_value’,
    ‘order’ => ‘asc’
    ) );
    }
    return $vars;
    }

    Un indice pour le tri alphabétique dans une colonne dans users.php ?

    merci pour votre aide

    :search:

2 sujets de 1 à 2 (sur un total de 2)
  • Le forum ‘Utilisation spécifique de WordPress’ est fermé à de nouveaux sujets et réponses.