Support » Allgemeine Fragen » Geschützte Seite

  • Hallo,
    bevor eine geschützte Seite aufgerufen werden muss ein Passwort eingegeben werden. Gibt es die Möglichkeit bei der Eingabe eines falschen Passwortes einen Hinweis, PopUp, Dialog erscheinen zu lassen, der sowohl Text, Links und Grafiken enthält? Text: Sorry,falsches Passwort, bitte klick auf das Hilfesymbol (Grafik), dann wird Dir geholfen. Kann das evtl. ein PlugIn erledigen? Jeder Tip ist willkommen 🙂

    • Dieses Thema wurde geändert vor 2 Wochen, 3 Tage von geoback.
Ansicht von 1 Antwort (von insgesamt 1)
  • Die Plugins, die ich nach einer kurzen Suche (wir können hier keine aufwendige Plugin-Recherche übernehmen) dazu gefunden habe, wollten irgendwie nicht so recht funktionieren oder passten nicht zu den Anforderungen. Da aber „jeder Tipp willkommen“ ist, hier ein anderer Vorschlag: Am einfachsten ist es wohl, mit dem Plugin Code Snippets eine eigene Funktion hinzuzufügen, die den Standard-Text für passwortgeschützte Beiträge ersetzt.

    Der Standardtext, der bei passwortgeschützten Beiträgen ausgegeben wird, lautet „Dieser Inhalt ist passwortgeschützt. Um ihn anschauen zu können, bitte das Passwort eingeben:“. Ich habe nun drei passwortgeschützte Beiträge erstellt und „Geheim 1“, „Geheim 2“ und „Geheim 3“ genannt. Die „Slugs“ (Titelform des Beitrags) sind entsprechend geheim-1, geheim-2 und geheim-3. Für die ersten beiden Beiträge möchte ich einen Hinweis zum Passwort geben, der dritte Beitrag soll den Standard-Text ausgeben. Dazu füge ich folgende Funktion ein:

    add_filter('the_password_form', 'pix_change_default_message');
    function pix_change_default_message ($output) {
      $default_text = 'Dieser Inhalt ist passwortgeschützt. Um ihn anschauen zu können, bitte das Passwort eingeben:';
    
      global $post;
      $post_slug = $post->post_name;
    
      switch($post_slug) {
        case 'geheim-1':
          $new_text = 'Gib die ersten vier Ziffern von 1234567890 ein';
          $output = str_replace($default_text, $new_text, $output);
          break;
        case 'geheim-2':
          $new_text = 'Gib die letzten vier Ziffern von 1234567890 ein';
          $output = str_replace($default_text, $new_text, $output);
          break;
      }
    
      return $output;
    }

    Der neue Text wird dann bei den Beiträgen „Geheim 1“ und „Geheim 2“ anstelle des Standardtext angezeigt:

    Screenshot Einstellungen
    (zum Vergrößern anklicken)

    Ein paar Zeilen zur (nicht ganz vollständigen) Programmierung:

    • Die Wiederholung der Zeile $output = str_replace($default_text, $new_text, $output); ist nicht schön, das lässt sich sicher besser umsetzen. @bscu wüsste sicher eine bessere Lösung?
    • Das Ganze funktioniert nur, wenn du eine überschaubare Anzahl an passwortgeschützten Beiträgen hast und sie nicht laufend wechseln möchtest. Sonst wäre es sicher sinnvoller, mit Custom Fields zu arbeiten, in denen der Passworthinweis abgelegt wird.
    • Der Code enthält keine Funktion, die den Hinweis erst nach einer bestimmten Zeit anzeigt. Der Tipp wird auch nicht als Popup angezeigt. Wie gesagt: die Programmierung ist nicht ganz vollständig.

    Beim Code habe ich mich am Beitrag How to hide or change Password Protected message in WordPress orientiert.

Ansicht von 1 Antwort (von insgesamt 1)