Códigos cortos dinámicos y funciones en WordPress

Tengo un pequeño problema con la generación automática de códigos cortos, según las entradas de la base de datos.

Puedo hacer que funcione un shortcode normal, es decir:

function route_sc5() {
        return "<div>Route 5</div>";
    }
    add_shortcode('route 5','route_sc');

y el siguiente shortcode para activarlo sería[route 5]

Esto funciona. Pero lo que necesito es que se produzca el shortcode para cada entrada de la base de datos. algo como:

$routes = $wpdb->get_results( $wpdb->prepare("SELECT * FROM wp_routes") );
foreach($routes as $route)
{
    function route_sc$route->id () {
        return "<div>Route $route->id</div>";
    }
    add_shortcode('route $route->id','route_sc$route->id');
}

Lo anterior es solo un ejemplo de cómo quiero que funcione. No literalmente el código que estoy usando. ¿Cómo haría para lograr esto? ): Gracias.

Respuestas a la pregunta(4)

Su respuesta a la pregunta