カスタム投稿タイプ

カスタム投稿タイプのパーマリンクを書き換えるフィルターフックを定義する | | リーテラトバリタブログ
rewrite_rules_array を利用してリライトルールを追加する方法 | deadwood

パーマリンク設定
function my_post_type_link( $link, $post ){
    switch ($post->post_type) {
        case 'news':          return home_url('/news/' . $post->ID);
        default:
            return $link;
    }
}

function my_rewrite_rules_array( $rules ) {
    $new_rules = array(
        'news/([0-9]+)/?$' => 'index.php?post_type=news&p=$matches[1],
    );
    return $new_rules + $rules;
}

add_filter('post_type_link', 'my_post_type_link', 1, 2);
add_filter('rewrite_rules_array', 'my_rewrite_rules_array');

> 有効化するためには「ダッシュボード>設定>パーマリンク設定」で一度保存します。