Ich denke, du würdest so etwas wie Folgendes benötigen:
AND us.first_post_created_at > NOW() - INTERVAL '7 DAYS'
Um PMs auszuschließen, musst du die Tabelle topics verknüpfen (über den Fremdschlüssel posts.topic_id) und die Spalte archetype prüfen. Füge dies vor der WHERE-Klausel hinzu:
JOIN topics t ON p.topic_id = t.id
…und dies vor der ORDER BY-Klausel:
AND t.archetype = 'regular'