flush_rewrite_rules()

flush_rewrite_rules() regenera las reglas de URL de WordPress. Es necesario llamarla al activar o desactivar un plugin que registre CPTs o rutas personalizadas.

register_activation_hook( __FILE__, function() {
    register_post_type( 'producto', [...] );
    flush_rewrite_rules();
});

No usar en cada carga — solo en activación/desactivación.