
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:
Installation:
- Datei ins /wp-content/plugins Verzeichnis laden
- Im Adminbereich aktivieren
- Einstellungen anpassen!
- Fertig, jetzt freuen ;)
Update:
- PlugIn deaktivieren
- PlugIn im Verzeichnis /wp-content/plugins löschen
- neue Version ins Verzeichnis laden
- 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:
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 GPLv2, laut Autor:
Tobias,
GPLv2
I’ll make that explicit in the next release.
— Mark Jaquith
— https://markjaquith.com/
Update 3:
Jetzt auch im WordPress PlugIn Verzeichnis zu finden :).
Update 4:
Jetzt mit verschiedenen Sprachdateien!
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
Erscheint der Key in deiner Browserleiste?
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.
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?
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.
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
Nutzt du bei beiden die genau gleiche E-Mail Adresse?
Ja, genau die Gleiche.
Also ich bekomme die Mails nicht doppelt. Daher ist das seltsam…
Ich prüfe das nochmal.
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
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
Wird der Text im Quellcode angezeigt?
Ja –> “ Benachrichtige mich über neue Kommentare per E-Mail.“
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.
Hab’s gefunden und korrigiert. Nun geht es. Vielen Dank.
Schön :) Woran lag es?
Im css File stand:
#respond label {
display:none;
}
Ich habe das „display:none;“ einfach rausgenommen.
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
Siehe dazu: https://wordpress.org/plugins/subscribe-to-double-opt-in-comments/faq/
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
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
Da kann ich so leider nicht helfen. Das sind dann wohl Probleme mit diesem speziellen Theme.
Alles klar, trotzdem Danke für die Rückmeldung :)
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
Hallo Katja,
eine neue Version kommt heute raus, du kannst aber auch beruhigt die jetzige verwenden, sie ist kompatibel.
Viele Grüße
Tobias
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
Ist mir bisher noch nicht untergekommen. Hast du die aktuelle WP Version? Sind ansonsten ähnliche Plugins installiert?
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.
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 ;-).
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;)
Sorry, da kann ich nicht helfen.
Hi Tobias,
wird es bald ein Update für WP 4.6 geben?
Evtl. reicht ja auch ein Update der readme.txt
Gruss Harry
Kommt mit der nächsten Version :)
Das ging ja schnell;)
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
und dann könnte man auch noch gleich die vier Vorkommen von get_currentuserinfo() durch wp_get_current_user() korrigieren.
Danke für die Hinweise, ist beides in der kommenden Version korrigiert.
Super, danke!
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.
Wird mit der kommenden Version behoben :)
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/
Das konnte ich bisher noch nicht beobachten. Klappt bei mir ohne Probleme.
Hast du in der wp-config.php eine Sprache hinterlegt?
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???
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!
Gerne doch, das freut mich zu hören :)
Nein, in der wp-config.php ist keine Sprache hinterlegt. Nur im WordPress-Menü ist Deutsch als Sprache eingegeben.
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
Was genau ist die Fehlermeldung?
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!!
Hm, sind Cookies soweit erlaubt und wird bei dem Link auch nichts abgeschnitten?
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
Bitte poste die Fehlermeldung hier, dann schaue ich mir das ganze mal an, danke.
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
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
Hallo,
kann so eigentlich kein Problem sein, vor allem wenn alle anderen Mails rausgehen. Ggf. etwas im Spamfilter hängen geblieben?
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
Hallo Pierre,
schau doch mal auf https://wordpress.org/plugins/subscribe-to-double-opt-in-comments/faq/ vorbei, da sollte deine Frage eigentlich beantwortet werden in dem du die Checkbox einfach selbst in deinem Template platzierst.
Vermutlich in der comments.php oder ähnliches.
Viele Grüße
Tobias
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
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.