initだったりadmin_initだったりするけど、私はroot_rewrite_rules派です。
add_filter( 'root_rewrite_rules', function($rules){
// ここでrurle設定する
add_rewrite_rule("/hogehoge" , 'index.php?post_type=hogehoge' , 'top');
return $rules;
}, 9999);
initは毎回走るのも重いし、admin_initは管理画面いじる人が複数いるとなぜか安定しなかった
いろんなタイミングでruleいじってたかもしれぬが
最近はこれ派です