Ändere das Gewicht von Benutzerlikes basierend auf dem Erfahrungsniveau

Hallo zusammen,

Meine Seite verfügt über Fähigkeitsstufen für Benutzer, die auf deren Expertise in einem bestimmten Thema basieren. Benutzer können ihre Arbeiten teilen, eine Bewertung erhalten und dann, wenn ihre Arbeiten gut sind, aufsteigen. Für Benutzer, die Fähigkeiten nachgewiesen haben, möchte ich ihren Likes mehr Gewicht verleihen als Likes von Personen, die dies nicht getan haben.

Ich habe die Funktion zur Gewichtung von Likes für Mitarbeiter bemerkt, aber ich frage mich, ob es eine Möglichkeit gibt, bestimmten Benutzern ein zusätzliches Gewicht zu verleihen. Vielleicht kann ich eine Gruppe qualifizierter Benutzer erstellen und dieser Gruppe ein Gewicht zuweisen?

Ist das möglich? Falls nicht, gibt es einen Workaround?

Die Urteilskraft jedes Benutzers ist in einer Gemeinschaft nicht gleich, und diejenigen, die wissen, was sie tun, sollten mehr zu sagen haben als diejenigen, die es nicht tun. Das ist die Prämisse meiner Anfrage, und ich würde Ihre Einschätzung dazu schätzen, wie dieses Attribut in das Forum-Design integriert werden kann.

Vielen Dank!

2 „Gefällt mir“

Das sollte in einem Plugin möglich sein. Ohne nachzusehen, schätze ich, dass es 1 bis 3 Stunden Arbeit ist.

3 „Gefällt mir“

Danke, Jay. Ich habe viel mit WordPress gearbeitet und lerne nun langsam Discourse kennen. Ich werde versuchen, mein eigenes Plugin zu entwickeln und dabei folgenden Prozess befolgen:

  • Jeder Benutzer hat eine mit seinem Konto in WP verknüpfte Punktzahl.

  • Ich werde diese Punktzahl über die API abrufen und nutzen, um Likes, die einem Benutzer gegeben werden, ein Gewicht zuzuweisen. Einige if-Anweisungen sollten dafür ausreichen.

  • Basierend auf dem endgültigen gewichteten Wert aktualisiere ich die Punktzahl des Benutzers in WP, und von dort beginnt der Zyklus von neuem.

1 „Gefällt mir“

Ich denke, was du tun möchtest, ist die Funktion update_counters in post_action.rb zu überschreiben. Dafür musst du ein Plugin erstellen.

1 „Gefällt mir“