以前は全く気づきませんでした。数年前に WordPress の投稿 ID を Discourse のトピックに関連付けるための同様のものを探していました。
トピックの external_id は、トピックに external_id がある場合にのみクライアント上のプロパティとして返されます。そのため、トピックにそれがない場合、null 値は取得されません。これは external_id を持つトピックで機能しています。
<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("the external_id is ", m.external_id);
}
}
});
</script>