Intentando solucionar el retraso de 10 minutos

Hmm, estoy confundido por qué esto funciona, porque

Y tu plugin

add_action( 'wpdc_after_webhook_post_update', function( $topic_ids ) {
    foreach ( (array)$topic_ids as $topic_id ) {
        delete_transient( 'wpdc_comment_html_' . $topic_id );
    }
}, 11 );

¿No estás mezclando los $post_ids (de Wordpress) pasados a la acción con el topic_id (de Discourse) que sirve como clave transitoria?

Esperaría que tu plugin se viera así:

add_action( 'wpdc_after_webhook_post_update', function( $post_ids) {
    foreach ( (array)$post_ids as $post_id ) {
        $topic_id = get_post_meta( $post_id, 'discourse_topic_id', true );
        delete_transient( 'wpdc_comment_html_' . $topic_id );
    }
}, 11 );

Por otro lado, ¿estás diciendo que esto funciona? :thinking: