kisabelle
8/1/2014 - 9:04 PM

Wordpress Order Posts by Last Word in Title

Wordpress Order Posts by Last Word in Title

// 1. In functions.php :

function posts_orderby_lastname ($orderby_statement) 
{
  $orderby_statement = "RIGHT(post_title, LOCATE(' ', REVERSE(post_title)) - 1) ASC";
    return $orderby_statement;
}


// 2. Before query:

add_filter( 'posts_orderby' , 'posts_orderby_lastname' );


// 3. Query posts:

$staff_query = new WP_Query( 'post_type=staff&posts_per_page=-1&orderby=title&order=ASC' );


// 4. After query:

remove_filter( 'posts_orderby' , 'posts_orderby_lastname' );