Wie man die external_id für ein Thema programmatisch abruft

Das ist mir vorher nie aufgefallen. Ich habe vor ein paar Jahren nach etwas Ähnlichem gesucht, um WordPress-Post-IDs mit Discourse-Themen zu verknüpfen.

Die external_id des Themas wird nur als Eigenschaft auf dem Client zurückgegeben, wenn das Thema eine external_id hat. Wenn das Thema also keine hat, erhalten Sie keinen null-Wert. Dies funktioniert für mich bei Themen, die eine external_id haben:

<script type="text/discourse-plugin" version="0.11.0">
api.onPageChange (() => {
    const c = api.container.lookup("controller:topic");
    if (c) {
        const m = c.get("model");
        if (m && m.hasOwnProperty('external_id')) {
        console.log("die external_id ist ", m.external_id);
        }
    }
});
</script>