Sort Wordpress custom posts alphabetically
- 11/11/2010
- ·
- #index
I recently used WordPress’s new custom post type functionality (WP3+) to get biographies and testimonials for each staff member of a community organization entered in. Then, to sort them by last name, I used an ugly-but-functional call to array_multisort:
$lastname = array();
$posts = get_posts( array( 'post_type' => 'staffer', 'numberposts' => 10 ) );
foreach( $posts as $key => $post ) {
$lastname[$key] = array_pop( explode( ' ', $post->post_title ) );
}
array_multisort( $lastname, SORT_ASC, $posts );```
This is predicated on the assumption that each post of the custom `staffer` post type is named after the appropriate staffer, and the last name is the last word in the post title.
A better approach would be to build a more robust filter on the query_post hook that adds a $last_name variable to posts as they are retrieved, but that’s a battle for another day.