Saya menggunakan plugin Register Plus Redux untuk menambah formulir pendaftaran dengan bidang metadata khusus. Bidang-bidang ini ditampilkan di bagian bawah setiap halaman detail catatan pengguna dan dapat diambil dengan get_the_author_meta.
Selain itu, saya dapat membuat kolom di panel Pengguna (tampilan daftar) dan membuat kolom ini dapat diurutkan. Masalahnya adalah, ketika saya mengklik judul kolom khusus, nilai orderby = di URL tampaknya diabaikan. Dengan kata lain, tampaknya permintaan yang menghasilkan tampilan daftar pengguna tidak termasuk data meta khusus (misalnya mungkin memerlukan pernyataan bergabung jika metadata tidak di tempat biasa untuk data pengguna?). Rasanya seperti saya telah melewatkan satu langkah.
Ini kode saya untuk membuat kolom khusus:
//add columns to User panel list page
function add_user_columns( $defaults ) {
$defaults['company'] = __('Company', 'user-column');
$defaults['title'] = __('Title', 'user-column');
return $defaults;
}
function add_custom_user_columns($value, $column_name, $id) {
if( $column_name == 'company' ) {
return get_the_author_meta( 'company_name', $id );
}
if( $column_name == 'title' ) {
return get_the_author_meta( 'titlefunction', $id );
}
}
add_action('manage_users_custom_column', 'add_custom_user_columns', 15, 3);
add_filter('manage_users_columns', 'add_user_columns', 15, 1);`
Dan ini kode saya untuk membuat kolom-kolom ini dapat disortir:
function user_sortable_columns( $columns ) {
$columns['company'] = 'Company';
return $columns;
}
add_filter( 'manage_users_sortable_columns', 'user_sortable_columns' );
function user_column_orderby( $vars ) {
if ( isset( $vars['orderby'] ) && 'company' == $vars['orderby'] ) {
$vars = array_merge( $vars, array(
'meta_key' => 'company',
'orderby' => 'meta_value',
'order' => 'asc'
) );
}
return $vars;
}
add_filter( 'request', 'user_column_orderby' );`
Adakah gagasan bagaimana saya dapat memperbarui kueri yang menghasilkan daftar pengguna sehingga mencakup pengurutan berdasarkan bidang khusus saya? Atau, jika bukan itu masalahnya, bagaimana cara membuat judul kolom khusus mengurutkan daftar pengguna saat diklik?
Terima kasih.