Hampir 2 minggu ini dipusingkan dengan kerjaan oprek Buddypress. Buddypress adalah sebuah Plugin untuk WordPress yang biasanya digunakan untuk manajemen Member. Para member ini kemudian masing masing punya akun dan dapat melakukan aksi seperti update profile, posting, bahkan private chat dengan member lainnya. permintaan dari Klien sangat sederhana sih, dia hanya ingin membuat Filter member yang ada di Buddypress berdasarkan urutan Lastname (Buddypress Sortable Alphabetical by Lastname), mengingat bahwa nama yang digunakan di luar negeri biasanya menggunakan Sort Lastname yang ditaruh dibagian depan.

Sebelumnya saya sudah pernah membantunya mengganti nickname yang ada di Member Buddypress dengan nama bawaan Worpress FirstName dan Lastname. dengan Tweaking template Buddypress Legacy yang ada di Plugin kita copy ke WordPress Template  dan sedikit mengedit member-loop.php jadi deh. Nah sayangnya cukup pusing juga pada waktu kedua kalinya dia ingin membuat filter yang lebih sulit Buddypress Sortable Alphabetical by Lastname, setelah mengecek codex Buddypress akhirnya ketemu juga caranya, dan codenya cukup simple 😀 .

Berikut adalah codenya :

function alphabetize_by_last_name( $bp_user_query ) {
if ( 'alphabetical' == $bp_user_query->query_vars['type'] )
$bp_user_query->uid_clauses['orderby'] = "ORDER BY substring_index(u.display_name, ' ', -1)";
}
add_action ( 'bp_pre_user_query', 'alphabetize_by_last_name' );

Gunakan code diatas dan paste dibagian functions.php, dan secara otomatis jika kita menuju ke bagian URL member dari Buddypress maka , bagian filter Alphabetical-nya  akan sort by Lastname.

alphabetical by lastname

alphabetical by lastname