Domanda

Sto usando le manage_users_columns per visualizzare un campo personalizzato creo nel database usermeta chiamato società. Il mio codice è il seguente:

function mysite_column_company( $defaults ) {
 $defaults['mysite-usercolumn-company'] = __('Company', 'user-column');
  return $defaults;
 }
 function mysite_custom_column_company($value, $column_name, $id) {
  if( $column_name == 'mysite-usercolumn-company' ) {
        return get_usermeta($id, 'company');
  }
 }

add_action('manage_users_custom_column', 'mysite_custom_column_company', 15, 3);
add_filter('manage_users_columns', 'mysite_column_company', 15, 1);

Mi piacerebbe arrivare a visualizzare altri due campi personalizzati, ma non riesco a capire il corretto funzionamento. Duplicare questo non funziona e non ho avuto alcuna fortuna l'aggiunta di nuove funzioni all'interno di questa uno per ogni colonna unica, soprattutto perché io non riesco a capire come definire correttamente la variabile $ default. Qualche suggerimento?

È stato utile?

Soluzione

hummm ... Vuoi dire qualcosa di simile:

function mysite_column_company( $defaults ) {
    $defaults['mysite-usercolumn-company'] = __('Company', 'user-column');
    $defaults['mysite-usercolumn-otherfield1'] = __('Other field 1', 'user-column');
    $defaults['mysite-usercolumn-otherfield2'] = __('Other field 2', 'user-column');
    return $defaults;
}
function mysite_custom_column_company($value, $column_name, $id) {
    if( $column_name == 'mysite-usercolumn-company' ) {
        return get_the_author_meta( 'company', $id );
    }
    elseif( $column_name == 'mysite-usercolumn-otherfield1' ) {
        return get_the_author_meta( 'otherfield1', $id );
    }
    elseif( $column_name == 'mysite-usercolumn-otherfield2' ) {
        return get_the_author_meta( 'otherfield2', $id );
    }
}

Tra l'altro, è necessario utilizzare get_the_author_meta () al posto di get_usermeta (), in quanto è deprecato.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a wordpress.stackexchange
scroll top