404-Deamon: E-Mail bei fehlender Seite (NEU)

  • Liebe Leute,

    weil ich´s gerade brauche, hab ich mir eine Funktion für 404-E-Mails geschrieben. Jetzt wollte ich´s ein wenig globaler verwendbar machen und hab schnell ein Plug-In draus gemacht. Ich hoffe jemand von Euch hat Zeit es zu testen: Code in whatever.php kopieren, hochladen in den PlugIn-Ordner und aktivieren. Dann (als nicht-Admin-User) eine nicht vorhandene Seite aufrufen und die E-Mail Adresse, die unter den Blog-Einstellungen angegeben ist, abrufen. Dort sollte dann eine E-Mail ankommen.

    Viel Vergnügen!

    Ps. Sollte bereits ein PlugIn vorhanden sein, dass die E-Mail Adresse des Blogs verändert, so kommt die im PlugIn eingetragene nicht zur Anwendung.

    Firebug laden! Foreregeln bitte lesen. FAQ. Bitte keine Anfragen per PN.

    Einmal editiert, zuletzt von kaiser (26. Februar 2010 um 15:08)

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • So. Hier die ausgebesserte Variante ( Thomas: merci! Siehe Probs im Code). Und: Alle ` gegen ' getauscht - Ist die Macht der Gewohnheit, weil mein Scriptly-Editor bei " & ' immer zwei gleichzeitig macht.

    Firebug laden! Foreregeln bitte lesen. FAQ. Bitte keine Anfragen per PN.

    Einmal editiert, zuletzt von kaiser (26. Februar 2010 um 18:02)

  • Stimmt. Her gerichtet war's ja schon, nur eingesetzt nicht. (Danke!)

    Hier der PasteBin-Link: http://pastebin.com/P0Z72q4p

    Falls jemand Zeit hat, das einmal zu testen: Wäre nett & ich ganz narrisch dankbar!

    Ps. Thomas: Irgendwie müsste das Plug-In sich in das Template hängen, was es ja bis jetzt noch nicht macht... bei mir läuft's nämlich als function und ich hab ehrlich gesagt noch nie aus etwas ein Plug-In gemacht.. Sollte ich das bei init starten? Andererseits: Funktioniert da eigentlich is_404() schon, oder muss das nach dem Body rein? Weil dann wüsste ich nämlich aus wp_head(), der nicht im body sitzt, nichts mehr, außer einen einrichten und ins Template einpflegen.. nicht gut!

    Firebug laden! Foreregeln bitte lesen. FAQ. Bitte keine Anfragen per PN.

    Einmal editiert, zuletzt von kaiser (26. Februar 2010 um 18:33)

  • Wie kommt die Variable $page_uri zustande, wenn pods_url_variable() nicht existiert?

    Zum automatischen Ausführen: Bei mir steht die Funktion im 404-Template. Ich finde gerade keinen Hook dazu, aber im Plugin könntest du dich dann einhängen, wenn WordPress nach diesem Template sucht:

    PHP
    add_filter('404_template', 'notify_404');
    
    
    function notify_404($dummy)
    {
        // Hier dein Mailcode …
    
    
        return $dummy;
    }
  • Danke. Stimmt. Hab jetzt eine WP und eine PHP Variante eingepflegt. Allerdings muss man derzeit in den Code und das eine oder andere auskommentieren. Siehe Pastebin.

    Neue Version (kannst Du da einmal eine Test laufen lassen? Soweit ich gelesen habe, hast Du einen Testblog - Danke!): http://pastebin.com/WNuprGSM

    Dank und Anerkennung!

  • mpf... blöder herumkopiererei zwischen function und plugin... hab mir da einiges selbst ausgehebelt. ich lass es jetzt einfach einmal. ip ist nochmal nachgebessert und die uri wird jetzt per php ausgegeben, falls "pods" nicht vorhanden ist. wenn du zeit hast, schau doch einmal rein und kommentier vielleicht ein paar fehler, oder spiel am code herum. vielleicht bekommen wir ja wirklich ein brauchbares plugin hin. siehe autoren-verweis :mrgreen:

  • Gemacht.. Schaut ganz gut aus. Die function geht. Beim Plug-In weiß ich´s nicht. Jetzt bist aber wirklich Du dran. Genug der faulen Ausreden ;)

    Muss jetzt leider weg. Wir lesen uns morgen oder so?

    Firebug laden! Foreregeln bitte lesen. FAQ. Bitte keine Anfragen per PN.

    Einmal editiert, zuletzt von kaiser (26. Februar 2010 um 20:19)

  • Das geht so als Plugin nicht. Da wird ja ein großer Teil des Scriptes bei jedem Request ausgeführt. Obendrein wirfst du Variablen in den globalen Namensraum, die ganz sicher in anderen Kontexten stören und schwer zu entdeckende Fehler provozieren.

    Verkapsele alle Variablen in einer Klasse oder Funktion, die einen Namen trägt, den wahrscheinlich niemand sonst benutzt.

    Hm, ich wollte schon längst mal ein Demo für so etwas schreiben …

  • Hello Thomas und Kollegen,

    so, jetzt alles schön und sicher mit class und function usw. verpackt. Ich bekomme auch alle Daten ausgegeben (siehe letzte function mit container-div am Ende - den hab ich an einen hook angehängt um die Werte zu testen) und alle Variablen für wp_mail werden auch ausgegeben (echo-Tests schon gemacht). Leider funktioniert der Mailversand so leider nicht. Irgendjemand eine Idee oder einen Ansatz wie man den Fehler finden könnte?

    Danke!

    http://pastebin.com/8DsCs8PL

    Firebug laden! Foreregeln bitte lesen. FAQ. Bitte keine Anfragen per PN.

    Einmal editiert, zuletzt von kaiser (28. Februar 2010 um 20:07)

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!