Grazie per le informazioni @Falco e buon compleanno.
Ho capito che il problema era dove ho aggiunto quella riga <script src="....
Questo ha funzionato per me:
<script type="text/discourse-plugin" version="0.8">
console.log(settings.epn_id);
window._epn = {campaign: settings.epn_id, smartPopover:false};
var script = document.createElement('script');
script.src = 'https://epnt.ebay.com/static/epn-smart-tools.js';
var head = document.getElementsByTagName("head")[0];
head.appendChild(script);
</script>
Il problema successivo che ho riscontrato è che agli elementi caricati dinamicamente non viene applicato lo script. Ad esempio, se aggiorno la pagina su un argomento, i post che vengono caricati avranno il link di affiliazione ma scorrendo per rivelare altri post, quelli non li avranno.
C’è un modo per eseguire lo script ogni volta che viene caricato un nuovo elemento?