@Arkshine m’a envoyé cette solution qui ajoute un espace vide avant une image :
add_filter('wp_discourse_excerpt', [$this, 'wp_discourse_excerpt'], 10, 1);
/**
* Ajoute des espaces vides au-dessus de toute balise <img>.
* L'objectif est d'éviter l'échec de Discourse lors de l'affichage d'images téléchargées en markdown.
*
* @param $post_content
*
* @return string
*/
public function wp_discourse_excerpt($post_content)
{
$post_content = preg_replace('/(<img\s)/i', "\n\n$1", $post_content);
$post_content = preg_replace('/[\n]{3,}/', "\n\n", $post_content);
return $post_content;
}