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>