WordPress自定义帖子类型按标题最后一个单词ASC排序



>我正在采用自定义帖子类型并尝试按帖子标题的最后一个单词显示它。从那里,我想传入一个我希望在WP_Query中看到的字母的变量(例如"starts_with" = "A"(。最后,我想按ASC顺序显示它。从此代码中,如何按ASC顺序显示?

function dp_posts_where( $where, $query ) {
global $wpdb;
$starts_with = $query->get( 'starts_with' );
if ( $starts_with ) {
$last_name = "RIGHT($wpdb->posts.post_title, LOCATE(' ', REVERSE($wpdb->posts.post_title)) - 1)";
$where .= " AND $last_name LIKE '$starts_with%'";
}
return $where;
}

add_filter( 'posts_where', 'dp_posts_where', 10, 2 );

请指教!谢谢!

你可以尝试这样的事情:

function my_movies_posts_orderby( $orderby, $query ) {
if ( $query->is_main_query() && $query->is_post_type_archive( 'my-movie' ) ) {
$orderby = "SUBSTRING_INDEX(post_title, ' ', -1) ASC";
}
return $orderby;
}
add_filter( 'posts_orderby', 'my_movies_posts_orderby', 10, 2 );

最新更新