Tentando contornar o atraso de 10 minutos

Hmm, estou confuso sobre por que isso funciona, porque

E seu 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 );

Você não está misturando os $post_ids (Wordpress) passados para a ação com o topic_id (Discourse) que serve como chave do transient?

Eu esperaria que seu plugin se parecesse com isto

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 outro lado, você está dizendo que isso funciona? :thinking: