Tôi đang sử dụng plugin Đăng ký Redux để gia tăng mẫu đăng ký với các trường siêu dữ liệu tùy chỉnh. Các trường này hiển thị ở dưới cùng của mỗi trang chi tiết hồ sơ người dùng và chúng có thể được truy xuất bằng get_the_ Author_meta.
Ngoài ra, tôi có thể tạo các cột trong bảng Người dùng (chế độ xem danh sách) và để làm cho các cột này có thể sắp xếp được. Vấn đề là, khi tôi nhấp vào tiêu đề cột tùy chỉnh, giá trị orderby = trong URL dường như bị bỏ qua. Nói cách khác, nó xuất hiện truy vấn tạo ra chế độ xem danh sách của người dùng không bao gồm dữ liệu meta tùy chỉnh (ví dụ: có lẽ nó yêu cầu một câu lệnh nối nếu siêu dữ liệu không ở vị trí thông thường cho dữ liệu người dùng?). Cảm giác như tôi đã bỏ lỡ một bước.
Đây là mã của tôi để tạo các cột tùy chỉnh:
//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);`
Và đây là mã của tôi để làm cho các cột này có thể sắp xếp:
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' );`
Bất kỳ ý tưởng nào làm thế nào tôi có thể cập nhật truy vấn tạo danh sách người dùng để nó bao gồm sắp xếp theo (các) trường tùy chỉnh của tôi? Hoặc, nếu đó không phải là vấn đề, làm thế nào để tạo tiêu đề cột tùy chỉnh sắp xếp danh sách người dùng khi nhấp vào?
Cảm ơn bạn.