How to change the category url jusy show /category/%category_id% in wordpress?

I find my answer on the internet.

function numeric_category_rewrite_rules( $rules ) {
    $custom_rules = array();
    foreach ( $rules as $regex => $rewrite ) {
        $regex = str_replace( '/(.+?)/', '/([0-9]{1,})/', $regex );
        $rewrite = str_replace( '?category_name=", "?cat=", $rewrite );
        $custom_rules[ $regex ] = $rewrite;
    }
    return $custom_rules;
}
add_filter( "category_rewrite_rules', 'numeric_category_rewrite_rules' );

function numeric_category_link( $category_link, $term_id ) {
    global $wp_rewrite;
    if ( $wp_rewrite->using_permalinks() ) {
        $permastruct = $wp_rewrite->get_extra_permastruct( 'category' );
        $permastruct = str_replace( '%category%', $term_id, $permastruct );
        $category_link = home_url( user_trailingslashit( $permastruct, 'category' ) );
    }
    return $category_link;
}
add_filter( 'category_link', 'numeric_category_link', 10, 2 );