„Subscribe to Comments“ mit Double-Opt-In Prüfung

Ich habe mich mal drangesetzt und das bekannte „Subscribe to Comments“ PlugIn für WordPress weiterentwickelt. Aufgrund der derzeitigen Lage und der Abmahnung eines Bloggers halte ich es für nötig das geforderte OptIn Feature nachzurüsten. Dies habe ich am Wochenende jetzt mal getan. Herausgekommen ist dabei eine erweiterte Version mit dem geforderten Feature. Das heißt, aktiviert ein User jetzt das Häckchen und möchte sich über neue Kommentare benachrichtigen lassen, wird zuerst eine E-Mail mit einem speziellen Link versendet. Dieser muss einmal angeklickt werden um die Benachrichtigungsmail zu aktivieren. Daraufhin funktioniert das PlugIn wie gehabt. Es gibt also nur diese neue Zwischenstufe.

Wichtig: Es wird nur eine Mail versendet, sobald der User das Abo per Mail bestätigt hat gibt es keine weitere Abfrage mehr, egal bei welchem Beitrag. So wird ein zuspammen der User effektiv verhindert.

Download

Ich nenne das „neue“ PlugIn jetzt einfach mal „Subscribe to Double-Opt-In Comments“. Herunterladen (Download) kann man es von der WordPress-Plugin-Seite selber.

Es sollte vielleicht kurz in einer Testumgebung laufen und bei Erfolg erst im Produktivsystem! Auch wenn es bei vielen problemlos Funktioniert. Jeder Blog ist anders, ich übernehme keinerlei Haftung für Schäden!

In den Einstellungen sind 3 Felder hinzugekommen:

subscribe to double opt in comments


Installation:

  1. Datei ins /wp-content/plugins Verzeichnis laden
  2. Im Adminbereich aktivieren
  3. Einstellungen anpassen!
  4. Fertig, jetzt freuen ;)

Update:

  1. PlugIn deaktivieren
  2. PlugIn im Verzeichnis /wp-content/plugins löschen
  3. neue Version ins Verzeichnis laden
  4. PlugIn wieder aktivieren

Tipps & Tricks:

Sollte es Probleme mit dem Update geben, bitte per phpMyAdmin oder Ähnliches prüfen ob die Tabelle wp_comments in der DB folgende Felder besitzt:

datenbank

Wenn nicht bitte so anpassen, falls Ihr nicht wisst wie, lasst es mich wissen :).

Für weitere Anregungen und Tipps stehe ich jederzeit zur Verfügung, einfach einen Kommentar hinterlassen! Bugs bitte auch an mich melden!

Known Bugs

Bei WP 2.7 kann es vorkommen das ihr im Adminbereich unter dem Menüpunkt „Werkzeuge“„Subscriptions“ einen inkorrekten Link vorfindet, sollte dies der Fall sein ändert ihr einfach in der PHP Datei „subscribe-to-doi-comments.php“ die Zeile 879 von:

$sg_subscribe->form_action = 'edit.php?page=stc-management';

auf:

$sg_subscribe->form_action = 'tools.php?page=stc-management';

Dies ist leider zur Zeit ein Workaround, normalerweise sollte WordPress aber selbstständig weiterleiten, bei mir funktioniert es zum Beispiel ohne eine Änderung.

History

Die History ist jetzt im WordPress Changelog zu finden.

Update 1:
Das PlugIn läuft jetzt auch hier auf der Seite, ihr könnt es also direkt testen :).

Update 2:
Das PlugIn steht unter der GPL, laut Autor:

Tobias,
GPL v2
I’ll make that explicit in the next release.
— Mark Jaquith
— http://markjaquith.com/

Update 3:
Jetzt auch im WordPress PlugIn Verzeichnis zu finden :).

Update 4:
Jetzt mit verschiedenen Sprachdateien!

941 Gedanken zu „„Subscribe to Comments“ mit Double-Opt-In Prüfung

  • 27. August 2015 um 20:19
    Permalink

    Hallo Tobias,

    wie funktioniert das mit dem Key, wenn man auf den Link Manage your subscriptions geht, nach dem man die Benachrichtigung für einen Beitrag aktiviert hat?

    Bei mir kommt dann eine Seite, auf der steht, dass ich einen validen Key brauche. Im Link wird einer mit übergeben. Den Link in der Mail habe ich zuvor bestätigt.

    Viele Grüße
    Diana

    Antworten
    • 28. August 2015 um 14:24
      Permalink

      Erscheint der Key in deiner Browserleiste?

      Antworten
      • 28. August 2015 um 20:51
        Permalink

        Ja, im Link ist er vorhanden. Ich bin aber nicht angemeldet, weil das Abonnement ja in erster Linie für nicht registrierte Benutzer sein soll.

        Antworten
        • 29. August 2015 um 09:34
          Permalink

          Dazu braucht man auch keine Anmeldung, dazu ist ja genau der Key da.
          Bisher klappt dies bei allen anderen Installationen. Auf welchem Hoster läuft dein WP?

          Antworten
          • 30. August 2015 um 18:36
            Permalink

            Es scheint am Browser zu liegen, denn hier auf der Seite kommt die gleiche Meldung, obwohl ich ja die Mails bekomme, wenn ein neuer Kommentar geschrieben wurde.
            Cookies sind angeschaltet. Ich werde auch erkannt, denn Name und E-Mailadresse stehen im Formular automatisch drin.

            Antworten
  • 29. August 2015 um 00:27
    Permalink

    Wenn ich als Autor eines Artikels einen Kommentar einen Kommentar hinterlasse, werde ich immer in die Benachrichtigungs-Liste mit aufgenommen, so dass ich fortan für jeden neuen Kommentar zwei Mails bekomme (1x von WordPress, 1x von diesem Plugin hier). Ich habe beim Kommentieren auch gar keine Chance, das abzuwählen. Nur wenn ich keinen einzigen Artikel über das Plugin abonniere passiert das nicht.
    Wie kann ich das ändern? Die Anzeige „Du bist Autor dieses Artikels“ benötige ich nicht (das weiß ich ja ;-), stattdessen hätte ich dort lieber die übliche Checkbox, um nicht zu abonnieren.
    Gruß,
    Klaus von http://www.technoviel.de

    Antworten
    • 29. August 2015 um 09:35
      Permalink

      Nutzt du bei beiden die genau gleiche E-Mail Adresse?

      Antworten
        • 30. August 2015 um 16:03
          Permalink

          Also ich bekomme die Mails nicht doppelt. Daher ist das seltsam…
          Ich prüfe das nochmal.

          Antworten
          • 30. August 2015 um 16:05
            Permalink

            Wie gesagt – einmal die WordPress-interne Benachrichtigung, einmal vom Plugin. Ich kann die Plugin-Benachrichtigungen aber gerade bei meinen eigenen Artikeln nicht abwählen, bei Artikeln anderer Autoren aber schon.
            Gruß,
            Klaus

            Antworten
  • 2. September 2015 um 14:37
    Permalink

    Guten Tag,

    bei mir erscheint der Text „Benachrichtige mich über nachfolgende Kommentare per E-Mail.“ nicht. Man sieht nur die Aktivierungsbox. Woran kann das liegen?

    Viele Grüße
    Simone

    Antworten
    • 2. September 2015 um 14:46
      Permalink

      Wird der Text im Quellcode angezeigt?

      Antworten
      • 2. September 2015 um 15:02
        Permalink

        Ja –> “ Benachrichtige mich über neue Kommentare per E-Mail.“

        Antworten
        • 2. September 2015 um 15:48
          Permalink

          Dann scheint der Text durch das Design ausgeblendet zu sein, entweder per CSS oder über überlagernde andere Bereiche. An dieser Stelle solltest du einmal ansetzen und suchen.

          Antworten
          • 2. September 2015 um 16:30
            Permalink

            Hab’s gefunden und korrigiert. Nun geht es. Vielen Dank.

            Antworten
              • 2. September 2015 um 17:08
                Permalink

                Im css File stand:

                #respond label {
                display:none;
                }

                Ich habe das „display:none;“ einfach rausgenommen.

                Antworten
  • 2. September 2015 um 16:52
    Permalink

    Hallo Tobias,

    vielen Dank nochmal für die Hilfe die Du bereits gegeben hast. Eine Frage habe ich jedoch noch. In den Einstellung gibt es den Bereich „Text der erscheinen soll, falls Sie die Option „Subscribe without Commenting“ nutzen“ Wenn ich das richtig verstanden habe, kann man damit Beiträge abonnieren ohne ein Kommentar geschrieben zu haben. Wie kann man die Funkton aktivieren?

    Viele Grüße
    Simone

    Antworten
  • 31. Oktober 2015 um 18:57
    Permalink

    Hallo Tobias,

    nachdem ich das Plugin testen wollte, erscheint lediglich eine leere Seite auf der „FEHLER: Bitte gib eine gültige E-Mail-Adresse an.“ zu lesen ist. Weisst du woran das liegen könnte ?

    Danke im Voraus
    Tobi

    Antworten
  • 19. Juni 2016 um 19:10
    Permalink

    Hallo Tobias,
    leider funktioniert das installierte und aktivierte Plugin auf meinem Blog nicht (auf einem anderen von mir betriebenen Blog mit anderem Theme aber schon). Ich vermute, dass das Problem an dem Theme liegt, das ich benutze (Grand Portfolio von Theme Goods). Vielleicht muss ich eine Änderung in der comments.php vornehmen oder so? Weißt du da zufällig mehr?

    Liebe Grüße

    Sonja

    Antworten
    • 20. Juni 2016 um 20:36
      Permalink

      Da kann ich so leider nicht helfen. Das sind dann wohl Probleme mit diesem speziellen Theme.

      Antworten
      • 20. Juni 2016 um 22:44
        Permalink

        Alles klar, trotzdem Danke für die Rückmeldung :)

        Antworten
  • 20. Juli 2016 um 02:38
    Permalink

    Hallo Tobias,

    wird es für die aktuelle WP-Version noch ein Update geben? Ich lese bei deiner Version den Hinweis Kompatibel bis zu: 4.4.4…

    Kann man es dann immer noch verwenden?

    Gruss Katja

    Antworten
    • 20. Juli 2016 um 09:55
      Permalink

      Hallo Katja,
      eine neue Version kommt heute raus, du kannst aber auch beruhigt die jetzige verwenden, sie ist kompatibel.
      Viele Grüße
      Tobias

      Antworten
  • 22. Juli 2016 um 15:31
    Permalink

    Hallo Tobias,

    bei den letzten beiden Updates war es so, dass die gemachten Einstellungen(Texte und auch HTML bei den Punkten was vor und nach dem Subscription Manager angezeigt werden soll) durch das Update überschrieben bzw. durch die Standardwerte überschrieben wird. Vielleicht könntest du hier deinen Code so anpassen, dass das beim nächsten Update nicht passiert;)

    Gruss Harry

    Antworten
    • 22. Juli 2016 um 17:42
      Permalink

      Ist mir bisher noch nicht untergekommen. Hast du die aktuelle WP Version? Sind ansonsten ähnliche Plugins installiert?

      Antworten
      • 22. Juli 2016 um 17:53
        Permalink

        Ja ich nutze WP 4.5.3
        Nein ähnliche Plugins sind nicht installiert.
        Allerdings habe ich dein Plugin(Bei der Funktion „function send_mail($to, $subject, $message)“ ein wenig erweitert, um HTML Mails(für den Aktiverungslink und bei neuen Kommentaren) verschicken zu können und ich habe in dem Feld „Text der E-Mail ([verify_url] wird mit der entsprechenden URL ersetzt, kein HTML möglich)“ dennoch HTML(in Form von ein paar ) drin stehen. Das dieses Feld dann „überschrieben“ würde, könnte ich nachvollziehen;) Bei dem anderen aber eher nicht.

        Antworten
        • 22. Juli 2016 um 19:42
          Permalink

          Da Veränderungen vorgenommen wurden, kann ich das schwer beurteilen was da passiert, sorry. Allgemein werden deine Änderungen aber bei jedem Update gelöscht, also die in den PHP Dateien, so funktioniert das Update ;-).

          Antworten
          • 22. Juli 2016 um 22:38
            Permalink

            Ja das ist mir klar;)
            Ich meine halt einfach die Einstellungen die man im Backend macht und die da ja dann in der DB gespeichert sind.
            Meine Änderungen wären diese in der PHP-Datei:
            function send_mail($to, $subject, $message) {
            $subject = ‚[‚ . html_entity_decode(get_bloginfo(’name‘), ENT_COMPAT, „UTF-8“) . ‚] ‚ . $subject;

            // strip out some chars that might cause issues, and assemble vars
            $site_name = str_replace(‚“‚, „‚“, $this->site_name);
            $site_email = str_replace(array(“), array(“, “), $this->site_email);
            $charset = get_settings(‚blog_charset‘);

            $subject_neu = str_replace(‚[‚ . html_entity_decode(get_bloginfo(’name‘), ENT_COMPAT, „UTF-8″) . ‚] ‚, “, $subject);
            $message_neu=$message;
            $message=“;
            $message.=“;
            $message.=“;
            $message.=“.$subject_neu.‘ auf Harrys Welt‚;
            $message.=“;
            $message.=“;
            $message.=“;
            $message.=“;
            $message.=$message_neu;
            $permalink=““;
            $string = $message_neu;
            $regex = ‚/\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|$!:,.;]*[A-Z0-9+&@#\/%=~_|$]/i‘;
            preg_match_all($regex, $string, $matches);
            $urls = $matches[0];
            $counti=count($urls);
            for ($i=0; $i<$counti; $i+=2) {
            $permalink.='‚.$urls[$i].‘‚;
            }
            $message.=“;
            $message.=“;
            $message.=‘Probleme beim Anklicken? Kopiere die URL(s)‘.$permalink.’und füge sie in die Adresszeile deines Browsers ein.‘;
            $message.=“;
            $message.=“;
            $message.=“;
            $headers = „MIME-Version: 1.0\n“;
            $headers.= „Content-Type: text/html; charset=\“{$charset}\“\n“;
            $headers.= „From: \“{$site_name}\“ \n“;
            $headers.= „\n“;
            return wp_mail($to, $subject, $message, $headers);
            }

            Dass ich das immer wieder bei einem Update einbinden muss, ist klar;)

            Antworten
  • 28. August 2016 um 13:16
    Permalink

    Hi Tobias,

    wird es bald ein Update für WP 4.6 geben?
    Evtl. reicht ja auch ein Update der readme.txt

    Gruss Harry

    Antworten
  • 11. September 2016 um 16:08
    Permalink

    Hi,

    für die PHP 7 Kompatibilität wäre eine kleine Anpassung bei den Konstruktoren erforderlich:

    PHP Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; sg_subscribe has a deprecated constructor in /[…]/wp-content/plugins/subscribe-to-double-opt-in-comments/subscribe-to-doi-comments.php on line 321

    Dann gibt es auch hier weniger Meldungen im Log ;-)

    Schönen Gruß,

    Michael

    Antworten
    • 11. September 2016 um 16:53
      Permalink

      und dann könnte man auch noch gleich die vier Vorkommen von get_currentuserinfo() durch wp_get_current_user() korrigieren.

      Antworten
      • 12. September 2016 um 08:05
        Permalink

        Danke für die Hinweise, ist beides in der kommenden Version korrigiert.

        Antworten
  • 18. September 2016 um 01:19
    Permalink

    Hi,
    es gibt auch noch einige „get_settings()“ und zwei wp_specialchars() die da ersetzt werden können;)

    Gruss Harry

    P.S.: nach dem neuen Update waren meine Einstellungen(Texte etc.) im Backend wieder durch die Standardwerte des Plugins überschrieben.

    Antworten
    • 18. September 2016 um 16:28
      Permalink

      Wird mit der kommenden Version behoben :)

      Antworten
  • 20. September 2016 um 10:44
    Permalink

    Die Sprache meines WordPress Veranstaltungsportals ist Deutsch. Nur die „System“-Kommentarfelder sind auf Englisch, z.B. „Leave a Comment“ und „5 thoughts on Horse Agility“. Warum und wo kann ich das einstellen? Ohne das Plugin sind die Anzeigen auf Deutsch…
    Anmerkung: Es geht nicht um die Systemmeldungen, die ich unter den Einstellungen dieses Plugins übersetzen kann – die sind so wie eingegeben…
    Siehe hier ganz am Ende: http://pferdetermine.de/veranstaltungen/kurs-horse-agility-2/

    Antworten
    • 20. September 2016 um 18:33
      Permalink

      Das konnte ich bisher noch nicht beobachten. Klappt bei mir ohne Probleme.
      Hast du in der wp-config.php eine Sprache hinterlegt?

      Antworten
      • 22. September 2016 um 21:19
        Permalink

        Wenn ich die Sprache in die wp-config.php eintrage ändert das nichts…. habe ich eben noch mal versucht. Was könnte das noch sein???

        Antworten
      • 22. September 2016 um 21:31
        Permalink

        Hab es gefunden. Die Version meines Templates (Customizr) hatte die Lag-Dateien nicht mehr (warum auch immer) und auf meiner Testseite waren die in einer älteren Version noch. Deswegen waren da die Kommentar-Felder korrekt und im anderen System mit deinem Plugin nicht. Zu blöd. Aber dein Hinweis zur WP-config hat mich auf die richtige Idee gebracht ;-) Danke!

        Antworten
        • 22. September 2016 um 22:10
          Permalink

          Gerne doch, das freut mich zu hören :)

          Antworten
  • 22. September 2016 um 21:10
    Permalink

    Nein, in der wp-config.php ist keine Sprache hinterlegt. Nur im WordPress-Menü ist Deutsch als Sprache eingegeben.

    Antworten
  • 28. September 2016 um 11:39
    Permalink

    Hallo ich habe auch das Problem mit dem Key. der steht in der adresszeile drin, ich werde erkannt(Name und Email Felder sind ausgefüllt)
    aber ich komme ncht auf die Profile page. Ich habe das mit allen Brwosern, die ich hier habe versucht. chrome, ff, und ie.

    was mache ich falsch?
    Danke!
    Irmen

    Antworten
      • 28. September 2016 um 18:40
        Permalink

        hm, ich hab den Link jetzt erstmal raus und kann grade den Fehler nicht erzeugen – aber es war soweit ich mich erinnere nur:
        you need a valid key to enter? the ?
        Reicht dir das als info – sonst bqu ich mirgen den link wieder ein und melde mich nochmal
        Danke für Hilfe!!

        Antworten
        • 29. September 2016 um 22:51
          Permalink

          Hm, sind Cookies soweit erlaubt und wird bei dem Link auch nichts abgeschnitten?

          Antworten
  • 17. Oktober 2016 um 18:46
    Permalink

    Hallo
    Zuerst tolles Plugin, leider aber verursacht es bei mir ständig Fehlermeldungen wenn jemand kommentiert. Mir wurde gesagt, das alte php Aufrufe verwendet werden und ich mal einen Hinweis darauf geben soll.
    Wird es hier demnächst ein Update geben?
    Danke

    Antworten
    • 17. Oktober 2016 um 18:47
      Permalink

      Bitte poste die Fehlermeldung hier, dann schaue ich mir das ganze mal an, danke.

      Antworten
  • Pingback: neue Blogkommentare per Mail erhalten – Koffeinbetriebenes

  • 20. November 2016 um 20:37
    Permalink

    Hallo,

    zunächst einmal vielen Dank für das klasse Plugin. Leider habe ich folgendes Problem:
    Wenn jemand (Person A) auf meiner Seite ein Kommentar posten möchte, erhält er im Anschluss keine Bestätigungsmail inkl. dem entsprechenden Link (habe ich hinterlegt) zugeschickt. Sie/Er (Person A) kann also keine Zustimmung für den Erhalt weiterer Benachrichtigungen bei neuen Kommentaren erteilen. Ich selbst erhalte allerdings eine E-Mail, dass ein neuer Kommentar gepostet wurde. Das funktioniert einwandfrei. Erst, wenn ein weiterer Kommentar (von Person B) gepostet wurde, erhält auch (Person A) eine Nachricht, dass ein neuer Kommentar erstellt wurde. Die Bestätigungsmail fehlt aber weiterhin. Ich bin aktuell etwas ratlos. Die Einstellungen sollten eigentlich alle korrekt sein.
    Ich hoffe, dass es für dieses Problem eine Lösung gibt.

    Vielen Dank im voraus und schöne Grüße

    Ebenfalls Tobias

    Antworten
    • 20. November 2016 um 20:49
      Permalink

      Noch eine Ergänzung:

      „Du kannst diese Seite nur mit einem validen Key betreten“. Diese Fehlermeldung erhält in diesem Fall ebenfalls Person A, wenn er/sie auf den folgenden Link geht: „Du hast die Kommentarbenachrichtigung dieses Artikels abonniert. Verwalte deine Abonnements“.

      Schöne Grüße
      Tobias

      Antworten
    • 21. November 2016 um 18:57
      Permalink

      Hallo,
      kann so eigentlich kein Problem sein, vor allem wenn alle anderen Mails rausgehen. Ggf. etwas im Spamfilter hängen geblieben?

      Antworten
  • 1. Dezember 2016 um 13:15
    Permalink

    Hallo Tobias,

    vielen Dank, dass du dem Plugin schon solange die Treue hältst. Mein Theme stammt von Elmastudio und die nutzen nicht die normale Kommentarfunktion. Ich bekomme deshalb nicht die Checkbox angezeigt.

    Könntest du mir sagen, nach was ich in der comments.php und function.js Ausschau halten muss, um den Fehler zu beheben?

    Gruß
    Pierre

    Antworten
  • 5. Dezember 2016 um 18:21
    Permalink

    Hi,
    seit 2 Tagen bekomme ich von Lesern Beschwerden, sie würden ohne Anmeldung über alle nachfolgenden Kommentare benachrichtigt werden. Und das sind viele wegen Adventskalenderverlosungen… Leider funktioniert der Abmelde-Link genau so wenig wie das Double-Opt-In. Man wird einfach auf die Startseite geleitet. Auch ich komme als Admin nicht rein.

    Zwecks sofortiger Schadensbegrenzung: wenn ich das Plugin jetzt deaktiviere, hören die Emails auf? Falls nicht, was kann ich tun, um zumindest die, die sich beschweren manuell zu löschen?

    Danke im Voraus,

    Magi

    Antworten
    • 5. Dezember 2016 um 20:02
      Permalink

      Da sich am Plugin nichts geändert hat, kann es nicht daran liegen… Hast du an deinem Blog Dinge umgestellt?

      Im Zweifel das Plugin deaktivieren.

      Antworten

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.