Sonstiges

WP-Plugin: Eigene Kommentare editieren

na endlich, super Tipp von Jörg: Edit Comment von Jalecode ist ein WordPress-Plugin, das es dem Kommentieren ermöglicht, seine Kommentare nachträglich zu editieren. Defaultwert ist 30 Minuten nach Speichern des Kommentars. Danach kann der Kommentierende seinen Kommentar nicht mehr ändern. Diese Funktion vermisse ich von allen Blogfunktionen mit am meisten.

Achtung: Das Plugin checkt die IP des Kommentierenden. Das kann insbesondere bei Proxy-Usern, die mit einer gesharten IP durchs Netz jagen, zu unberechtigten Änderungen der Kommentare führen. Daher ist diese Modifikation des Plugin-Codes zunächst etwas sicherer, die ein User bei Jalecode gepostet hat:
elseif ($comment->comment_author_IP == $_SERVER['REMOTE_ADDR'] & $comment->user_id == $user_ID
statt
elseif ($comment->comment_author_IP == $_SERVER['REMOTE_ADDR']

Bedeutet? Neben der IP wird das User-Cookie überprüft (AND-Verknüpfung). Wenn aber der User kein Cookie akzeptiert hat, wird es nicht gehen, da beide Bedingungen erfüllt sein müssen. Auch das hat also den good old Cookie-Haken. Besser wäre – zugleich auch etwas unsicherer, da weicher – daher mE eine kaskadierende Abfrage zuerst nach dem Cookie und dann erst nach der IP, wenn das Cookie nicht gesetzt ist (eine OR-Verknüpfung kann natürlich nix bringen, da man sonst wieder ins IP Sicherheitsloch fällt).

Testet mal, indem Ihr hier kommentiert. Vor dem kommentieren ist nix zu sehen, danach wird das hier auftauchen:
edit comments plugin

So sieht die aktuelle comments.php aus (.pdf, Änderungen/Ergänzungen gelb markiert)

Über den Autor

Robert Basic

Robert Basic ist Namensgeber und Gründer von BASIC thinking und hat die Seite 2009 abgegeben. Von 2004 bis 2009 hat er über 12.000 Artikel hier veröffentlicht.

34 Kommentare

  • Sicher mal interessant zum Ansehen.
    Ein Versuch kann ja nicht schaden 😉

    Bin echt überrascht. Funktioniert einwandfrei

  • Frage: Warum geht das bei AOL-Usern nicht? Haben die DHCP und einen ständigen Wechsel der IP durch häufiges An- und Abmelden? Bin kein AOL-User, muss daher so doof fragen.

  • aha, k, damit is wohl eine verschachtelte Abfrage nach 1. Cookie, wenn nicht dann 2. IP zumindestens bei AOL Usern easier. Wobei das Editieren mE zu 95% aller Fälle kurz nach dem erstmaligen Speichern erfolgen wird, da sich mehr oder minder alle Kommentatoren den eigenen Beitrag nochmals anschauen. Wäre also auch mit wechselnder IP im Minutentakt nicht mal so wild.

  • Was hälst Du davon, wenn Du Dein kleines neues Makottchen
    recht neben der Seite „fixed“ anzeigst?
    Fänd ich toll!

    PS: Wirklich ein nettes Plugin! :))
    Funktioniert Super.

  • jo, danke nochmals für den netten Tipp! Habe ich seit einer halben Ewigkeit gesucht. Frage zum Maskottchen: Wo soll das Teil genau hin? „Rechts neben der Seite“— meinst Du damit Oben-Rechts an den weissen Rand der Content-Area oder wohin? Denn an sich wollte ich das Ding nicht zu prominent darstellen, wie auch schon Volker darauf hingewiesen hat, daß es ja noch „nette“ Menschen da „draussen“ geben kann, die das nicht mögen.

  • Ich hatte Deinen anderen Beitrag noch nicht gelesen und sah das kleine Ding da unten. Leider verschwand das wieder beim Scrollen.

    Wenn Du es in einen Div-Tag legst oder andersweitig „fixed“ rechts unten unmittelbar neben Deiner Seite positionierst, wäre das ein guter Platz für ein Maskottchen. Es bliebe halt stehen und Du könntest es sogar verlinken, wenn Du wolltest oder ein Ausblendescript auf den Link legen. Oder….?
    Gewiss sollte man das nicht so ernst sehen, aber Du bist ja eh locker drauf und ein wenig Spaß kann man immer gebrauchen.

    PS: Wenn Du Deinen Witze als Link da drauf legst und sich das etabliert, klicken die Leute wahrscheinlich bald mehr da als woanders.

  • hmpf grmpf … warum bastel ich mir an so sachen eigentlich nen wolf?

    ich hab es auch erst mit cookies bewerkstelligt, bin aber nun doch eher wieder zu der version mit den angemeldeten besuchern zurück gekehrt.

    mal schauen ob ich meine lösung in absehbarer zeit mal fertig bekomme

  • @Ralf, meinst Du mit angemeldet WP-like registrierte und eingeloggte User oder identifzierte User per Session? Das erstere kann es eigentlich nicht sein, denn das ist doch built-in bei WP, daß registrierte User per Cookieerkennung ihre Kommentare editieren können (oder nicht?), warum also etwas nochmals nachbauen? leicht verwirrt bin 🙂

    Jörg, ha! Ein netter Ansatz, Jokes dahinter zu legen und das Maskottchen rechts unten zu fixieren. Doch .. hm.. wie verlinke ich denn ein gefixtes Background-Image???

  • Nagele mich bitte nicht fest:

    body{
    background:#ABC6F1 url(‚/blog/upload/sr_2.gif‘) fixed no-repeat right bottom;
    }

    Ergänz das mal ins Stylesheet und dann kannst Du noch einen Link um das Bild legen. Ist kein Optimum, nur eine schnelle Lösung, nur Du siehst, was ich meine. Wenn dann der kleine noch neben der weißen Seite stehen würde, reicht dies.

  • aba.. Jörg.. ich stehe auf dem Schlauch anscheinend… ich kann doch garnicht ein Backgroundbild vom body verlinken? Wenn, kann ich höchstens eine Div-Area definieren, ihr eine Position verpassen (floatend, relativ, absolut..) und dann einen Link geben. Mit Imagelink

  • Ich weiß nicht, ob das sinnvoll ist, aber kannst du nicht das onclick benutzen, was du auch auf deinen Banner gelegt hast, damit du per Klick auf die Hauptseite kommst ?

  • Öhmm ja. Und nein. 😀

    Es gibt in WP die Funktion edit_comment_link. Angeblich ermöglicht diese Funktion angemeldeten Benutzern ihre Kommentare zu editieren. Allerdings funktioniert dies bei meinr WP-Version (1.5.2) irgendwie nicht. Selbst wenn ich die Benutzer bis auf Level 9 befördere. Die können dann alles, nur nicht ihre Kommentare bearbeiten.

  • also ein Bug, wusste ich bisher nicht, da ich immer nur als 10er kommentiere. Muss ich mal bei mir austesten, obs das gleiche Problem ist. Schon dazu etwas in den Supportforen gefunden?

    @Jörg, Jona: Habe von Silke einen Tipp bekommen, der ein CSS Hack ist und ermöglicht, daß man ein fixes Backgroundbild benutzt und dazu auch Links implementieren kann. Muss mal sehen, wie das geht. Wenn ichs hab, werde ich es posten.

  • Bug oder kein Bug, darüber kann ich schwer urteilen. Auf codex.worpress.org heisst es zu edit_comment_link schlicht:
    Displays a link to edit the current comment, if the user is logged in and allowed to edit the comment

    Ja wenn der User eingeloggt ist und er editieren darf. Nur wo stellt man bei WP abhängig vom Userlevel ein was ein User machen darf und was nicht?

    Du hattest hier schon mal einen Artikel zu den Thema „User-Berechtigungen unter WP2.0“. Das wäre z.B. eine Sache die generell bei WP noch unbedingt geändert werden müsste. Derzeit ist es so, dass ein User Level 0 nichts machen kann. Ein User Level 1 hingegen kann schon Beiträge verfassen. Das finde ich bei 10 User-Leveln schon arg unsinnig.

    Zurück zum Thema:
    Mir ist grade aufgefallen das der von dir zitierte Hack die Variable $user_ID abfragt. Tja, die ist aber nur dann gesetzt, wenn der User eingeloggt und angemeldet ist. Gäste/Besucher haben keine user_ID.

    Seine Besucher anhand der IP zu identifizieren finde ich ein wenig riskant. Man denke nur an offene Proxys oder Firmen-IPs.
    Ich würde das Plugin da oben also doch sehr mit Bedacht verwenden. Oder zumindest zusätzlich einen zeitlich begrenzten Cookie setzen.

    ———
    Anderes Thema (das mit den Maskottchen):
    Willst du in etwa sowas machen wie das mit den ToCool4IE-Badge?

    Wenn ja, dann einfach einem Link eine CSS-Klasse verapssen. Position -> fixed, background -> Bildchen. Kein java-onclick und wenige Kompatibilitätsprobleme.

    Auf http://www.w3junkies.com/toocool/join.php kannst du dir den Code für einen fixierten Link anschauen. Zickt aber ein wenig mit dem IE rum da der IE mit der CSS-Eigenschaft fixed nicht zu Potte kommt.
    Kann man aber mit ein wenig JavaScript ausgleichen. Einfach ein kurzes JavaScript einbauen das den Link immer hübsch weit unten platziert (Code dazu sollte sich auch x-mal im Web finden lassen).

  • Hmm, bei mir klappt das Plugin leider nicht so 🙁 Wird wohl an meinem WP 2.0 liegen. Der Kommentar lässt sich zwar bearbeiten wird dann aber als neuer gepostet.

  • hm.. wird wohl in der Tat an WP 2.0 hängen. Bei mir wars ganz komisch, als ichs bei Dir getestet habe

    1. Kommentar erstellt
    2. Link „editieren“ wird angezeigt
    3. Kann meinen Kommentar dann editieren
    4. Beim Speichern kommt ein komisches Captcha-Feld, das ganz alleine auf der Webseite steht, sonst nix zu sehen
    5. Gebe Captcha-Code ein, doch dann erzeugt er einen neuen Kommentar, aber erst, als ich manuell das Bestätigungsfenster (auch völlig leere ausser einer Bestätigungsmeldung) über URL Eingabe verlasse (sprich; Kommentar doppelt und doofe Captcha-Bestätigungs Meldung)

  • Das mit dem Captcha is der SK2 Captcha, der kommt wenn du als Spammer indentifiziert wurdest, so verhindere ich False Positives.

    Also pfuscht mir entweder SK2 oder WP2 da rein. Naja, auch egal

  • […] Welches sind die wichtigsten Kommentarfunktionen: 1. Kommentar nachträglich editieren: Für WordPress-Blogs bietet sich ein verdammt gutes Plugin namens Edit Comments an. Dieses Plugin sorgt dafür, daß sich der Kommentierende nich registrieren muss (was die meisten hassen wie die Pest) und dennoch einen Kommentar nachträglich bearbeiten kann. Das ganze funktioniert auf Cookiebasis, indem es die IP des Kommentierenden speichert. Und man kann einstellen, wie lange nach erstmaligem Speichern der User noch editieren kann. Den Edit-Link habe ich sichtbar oberhalb des Kommentartextes plaziert. Und viele haben bereits auf diese Funktion zurückgegriffen. Somit erspart man auch dem Kommentierenden wegen Fehlern drei Kommentare hintereinander zu schreiben, was dann irgendwann mehr nach Spam als nach Beitrag aussieht. Obacht: Wer weiss, daß seine User per Proxy ins Netz gehen, muss das IP basierende Plugin umstellen. Siehe dazu mehr im damaligen Artikel zum Plugin. Hier gab es das Problem noch nie, zumal ich dem User mehr Vertrauen schenke: Ich glaube nicht, daß man als User einen fremden Kommentar editieren wird bzw. in den seltensten Fällen. Insofern ist das nicht für mich kein Grund, auf das Plugin zu verzichten. […]

  • Bin auch neugierig (und wenn ich schonmal zum testen aufgefordert werde…).

    Sehr schön, werd ich in den nächsten Tagen mal einbauen. Danke für den Tip!