Support » Allgemeine Fragen » Plugin deaktiviert: Seite tot!

  • Gelöst pezi

    (@pezi)


    Hallo!

    Hab nun wochenlang „Simple Membership“ (+ Addons) in eine Testsite eingebaut, bis alles perfekt funktionierte. (Es gab 999 Probleme und kaum Hilfe)

    Heute alles auf die Live Site verfrachtet und dann ging das Gejammer der Redakteure/Autoren los: Das ist anders, das geht nicht mehr, jenes ist weg. usw. (Besonders störend: Die haben keine Rechte mehr und die Benutzerdefinierten Felder sind weg)

    Also, naja deaktiviere ich das Hauptplugin mal und PENG! Site tot: „Es gab einen kritischen Fehler auf deiner Website. Bitte überprüfe den Posteingang deiner Website-Administrator-E-Mail-Adresse für weitere Anweisungen.“ Klar kommt nichts per Mail.

    Was nun?
    Umbenennen aller SWPM Pluginorder brachte mal nix.

    Sowas passierte mir noch nie und ich habe schon 1000e Plugins auf vielen Sites getestet. Das die meisten nach Deinstallation Müll hinterlassen ist normal – aber nach Deaktivierung die Site abschießen ist mir neu.

    Natürlich schreibe ich das auch ins Supportforum des Plugins, nur dort antwortet man erfahrungsgemäß erst in Tagen. Und nun ist ausgerechnet die LIVE Site tot ….

Ansicht von 12 Antworten - 1 bis 12 (von insgesamt 12)
  • Hallo,
    unklar ist leider, ob du noch dich noch anmelden kannst. Falls ja, wäre der Bericht ggfs. hilfreich (Werkzeuge > Website-Zustand).
    Was passiert denn, wenn du auf der Testseite das (Haupt-)Plugin deaktivierst? – Ähnlicher Fehler?
    Viele Grüße
    Hans-Gerd

    Thread-Starter pezi

    (@pezi)

    Hallo und danke für die schnelle Anteilnahme!

    Nein, es geht echt nichts mehr!

    Auf der Testsite traute ich mich nicht, das auch zu tun. Denn evtl. hilft es in den 100en Settings des Plugins zu graben um etwaige Ursachen zu finden. Das mach ich gerade.

    PS: In der DB sollte es ja auch irgendeine Option bez. aktiver Plugins geben.
    Also zum Hoster (den ich auch schon um Hilfe ersuchte) und: Zugang zur DB funzt auch nicht!

    Es gibt Plugins, die Codezeilen in die .htaccess oder wp-config.php schreiben. Deaktivierst du das Plugin, bleibt im schlechten Fall der Eintrag bestehen, funktioniert aber nicht mehr weil das Plugin deaktiviert ist. Deshalb würde ich zuerst mal die .htaccess in no.htaccess umbenenne und schauen, ob in der wp-config.php etwas merkwürdiges steht. Falls das nicht hilft, brauchst du nur die Datei wieder in .htaccess zurückbenennen und kannst diese Änderungen zumindest ausschließen.

    Also zum Hoster (den ich auch schon um Hilfe ersuchte) und: Zugang zur DB funzt auch nicht!

    Das ist ein bekanntes Phänomen, wird auch als Panik-Modus bezeichnet.
    Tief durchatmen, eine Runde um den Block gehen …

    Thread-Starter pezi

    (@pezi)

    Danke, Bego.

    .htaccess habe ich nicht, ist ein nginx. Und die wp-config ist gleich …

    Panik-Modus

    woher weisst du wie ich mich grade fühle? So isses nämlich! Ärgere mich voll, das ich auf der Testsite keinen Test mit anderen Rollen gemacht habe.

    Mit Admin ging ja alles soweit.
    Dann, am LIVE Blog sagte die erste Redakteurin: „wo sind meine Felder?“ (hatte da mal was gebastelt, wo die schnell die Quellangaben von Pressediensten usw. eintragen konnten). ?? Echt, diese (ua. eigene) Einträge sind futsch.
    Denn die Liste der Benutzerdefinierten Felder ist plötzlich mit lauter unbekannten Kram überfüllt, man kommt gar nicht bis zum Feld „Quelle“. (Aber das ist eine andere Sache, frage ich besser gesondert)
    Also mal deaktivieren, schau’n mer mal sagte ich auf bayrisch – und Game over

    du hast doch bestimmt vorher eine Sicherung erstellt. Wie wäre es denn, wenn du die Sicherung wiederherstellst.

    Tief durchatmen, eine Runde um den Block gehen …

    Das ist in der Tat erst mal die beste Option. Ich habe festgestellt, dass man dann noch die eine oder andere hilfreiche Idee hat. Früher ging es mir auch so, dass ich panikartig irgendwelche wilden Geschichten gemacht habe und alles noch viel schlimmer statt besser wurde.

    du hast doch bestimmt vorher eine Sicherung erstellt.

    Jetzt ärger‘ ihn doch nicht noch. 😀

    Gibt der Error-Log was her?

    Thread-Starter pezi

    (@pezi)

    So, Nachtrag: lt. Hoster war ein Fehler in der functions.php. (Also hatten die auch als erstes den error.log angesehen)

    Die hatte ich in der Tat im Zuge des Einbaues dieses Membership-Plugins verändert.
    Aber: Diese, für das Plugin bestimmte Funktion war das erste, was ich nach dem Crash wieder rückgebaut habe. (Wahrscheinlich habe ich noch mehr kaputtoptimiert)

    Ein Backup der Datei habe ich (wie mirseidank immer!) vor jeder Änderung gemacht – ersetzt: Site wieder da!!!

    Wie wäre es denn, wenn du die Sicherung wiederherstellst.

    Ein komplettes Backup von Mittag hätte es natürlich auch gegeben, allerdings hätte dies 1000x länger gedauert und ein paar zwischenzeitliche Beiträge wären weg.

    So, jetzt kann ich durchatmen, jetzt gehe ich auf die „Runde um den Block“ auf Fehlersuche.

    Danke für die Anteilnahme!

    PS: Bez. des Problems mit den Benutzerfeldern poste ich aber schon noch was, gell.

    … jetzt gehe ich auf die „Runde um den Block“ auf Fehlersuche.

    Nein, nein, erst die Runde um den Block, dann Fehlersuche.

    Erfahrungsgemäß werden die am schwierigsten zu behebenden Programmierfehler gegen drei Uhr Morgens in einer Phase völliger Euphorie erzeugt, während eine Runde um den Block (bis spätestens 22:00 Uhr, danach eher nicht mehr) eine Fehlersuche erheblich beschleunigen kann.

    Schön, dass der erste Fehler behoben ist.

    Thread-Starter pezi

    (@pezi)

    erst die Runde um den Block

    Zuerst suche ich aber die Webcam, wo ihr mich seht. Denn woher …???

    Programmierfehler gegen drei Uhr Morgens in einer Phase völliger Euphorie

    woher zum … wisst ihr wann ich … ach …

    Schön, dass der erste Fehler behoben ist.

    Ja, ich weiß auch schon genaueres:
    Zu dem Plugin gabs einen Tip des Herstellers, mit dem man alles Beiträge hinter der Mitgliederschranke mit einem Schlosssymbol versehen konnte.
    Code-Auszug:
    return '' . $title . ' 🔒';

    Nix aufregendes nicht. Das kleine Script fühlte sich aber plötzlich von seinen Plugin verlassen als ich auf deaktivieren klickte. Und schoss die Site ab.
    Warum nutzte es dann nix, das Script auszukommentieren?
    Weil ich Dödel im Panik-Modus beim auskommentieren irgendwas falsch verklickt hab …

    • Diese Antwort wurde geändert vor 2 Jahren, 7 Monaten von pezi.

    Wenn du solche Abhängigkeiten hast, ist es besser, mit einem

    
    if( function_exists( 'name_einer_funktion_des_plugins' ) ) { 
      //Code ausführen
    }}
    

    ein kleines Sicherheitsnetzt einzubauen. Dann haut’s dir nicht die Website unter den Füßen weg, wenn du das Plugin deaktivierst.

    Thread-Starter pezi

    (@pezi)

    Bei Funktionen die im Parent-Theme oder so sind, mach ich natürlich mit Abfrage.

    Oke, hier hätte ich zuvor ermitteln müssen, welche Funktion des Member-Plugins hier mitmischt … Oder was auch immer.
    Evtl. hätte ich nach SwpmProtection oder SwpmAuth fragen sollen?

    So schaut das Script übrigens aus:

    /***** Simple Membership *****/
    /* zeigt ein Schloss-Symbol an, wenn der Beitrag eingeschränkt ist (s.: https://simple-membership-plugin.com/user-submitted-tweaks-simple-membership/) */
    function my_custom_post_title($title, $id) {
        $protected = SwpmProtection::get_instance();
        $auth = SwpmAuth::get_instance();
        if ($auth->is_logged_in() && $protected->is_protected($id)) {
            //Member is logged-in and the post is protected
            return '' . $title;
        } elseif ($protected->is_protected($id) && !$auth->is_logged_in()) {
            //Member is not logged-in and the post is protected
            return '' . $title . ' 🔒';
        } else {
            //No protection to the post
            return '' . $title;
        }
    }
    add_filter('the_title', 'my_custom_post_title', 10, 2);
Ansicht von 12 Antworten - 1 bis 12 (von insgesamt 12)
  • Das Thema „Plugin deaktiviert: Seite tot!“ ist für neue Antworten geschlossen.