原因:リライトさせる正規表現と基本URLが間違っていた rewrite_rules_arrayを設定する時に、正規表現とリダイレクトさせる基本URL(パラメーター付きのURL)が間違っていた事が原因でした。 以下が404を解決できたソースです。 add_filter( 'post_type_link', 'my_type_link', 1, 2 ); function my_type_link( $link, $post ){ if ( 'my_post' === $post->post_type ) { // カスタム投稿名/ターム/にする $term = wp_get_post_terms( $post->ID, 'my_category' ); if(!empty($term)){ //タームが指定されている場合 return home_url( '/my_post/' .$term