標準メソッドがないぐらいなので、たぶん悪手だが必要だったのでやってみた。
global $wpdb;
$search_query = "SELECT ID FROM {$wpdb->prefix}posts WHERE post_type = 'series' AND post_name LIKE %s";
$like = '%'.preg_split('/-\d/', $post->post_name)[0].'%';
$results = $wpdb->get_results($wpdb->prepare($search_query, $like));
foreach($results as $key => $obj){
$ids[] = $obj->ID;
}
$series_posts = get_posts([
'post_type' => 'series',
'order'=>'ASC',
'post__in' => $ids
]);
特定のカラムで検索できるメソッドがあってもいいような気もする。ひょっとしたらあるのかも?
likeの条件やポストタイプなんかは適宜変更で。
wordpress how to get post with like search
最後までお読みいただき、ありがとうございました。
ご意見などありましたら@hippohackへDMをお願いいたします。