Support » Allgemeine Fragen » Eingeloggte Nutzer auf Seite begrüßen

  • Hallo 🙂

    Ich möchte auf meiner Webseite (auf der sich Nutzer registrieren können) eine Nachricht einblenden.
    So a la „Du bist nicht angemeldet“ oder bei eingeloggten Nutzern „Willkommen zurück, [Nutzername]!“.

    Gibt es dafür irgendwie eine einfache Möglichkeit? Würde ungerne nur für sowas ein Plugin installieren. Da gibt es doch bestimmt irgend nen Code, den man reinwerfen kann, oder?
    (Ich nutze aktuell die Seite mit Elementor (kostenfrei) & WooCommerce)

    Wenn jemand eine Seite mit Auflistungen von Codes/Snippets etc für alle möglichen Zwecke kennt, die nehme ich auch gern 😉

    Danke schonmal

    • Dieses Thema wurde geändert vor 3 Jahren, 9 Monaten von chiizukeeki.
Ansicht von 6 Antworten - 1 bis 6 (von insgesamt 6)
  • Hallo!
    Ich weiß ja nicht, wie weit deine Programm,-bzw. Programmiererkenntnisse im allgemeinen uo. mit WP reichen.
    Etwas ohne Plugin machen zu wollen, ist ja nicht schlecht, wobei jeder extra hinzugefügte Code wie ein solches wirken kann. Sicher, für so etwas sollten ein paar Zeilen reichen und so manches Plugin dazu könnte überladen sein. Sowas kommt vor.

    Das selber coden ist aber bei WP an diverse Regeln gebunden, dh. man sollte sich an den WP Codex halten. Irgendwelche Codes aus dem Netz können funktionieren, könnten aber unnötigen Ballast mitbringen. Wer WP eingebaute Funktionen nimmt, schont Ressourcen. Und WP bringt alles mit, wenn man weiß, wie man es nutzt.

    Alles Theorie, ja ich bin auch nur Laie und frage mich hier durch und stöbere in der Code Referenz. Manches klappt, öfters aber suche und finde ich einfach ein Plugin und fertig.
    „Meine“ Sites zT. sind außer dieser hier noch perun.net, drweb.de/websites/wordpress/, fastwp.de, wp-bistro.de usw. WP-Codes sind aber alle eben auf https://developer.wordpress.org/reference/.

    Praktisch gesehen müsstest für nicht eingeloggte User einfach nur irgendwo den „Du bist nicht angemeldet“ Hinweis anbringen. Das gilt ja mal als Standard, jeder ist zuerst mal nicht eingeloggt.
    Dann muss dieser Hinweis aber für eingeloggte User verschwinden. Bei „user logged in“ uä. Suchbegriffen gibt die Codereferenz zB. das her: is_user_logged_in () (https://developer.wordpress.org/reference/functions/is_user_logged_in/) Das kleine Codebeispiel darunter könnte (?) dir schon die Basis für dein Vorhaben liefern.

    function is_user_logged_in() {
        $user = wp_get_current_user();
        return $user->exists();
    }

    Nur wo das hin gehört usw. sollte man auch wissen. Daher die Anfangsfrage zum Wissenstand. Meiner ist auch nicht sehr hoch, daher sorry falls da was falsch verstanden habe.

    Hoffe aber, ich konnte einen Denkanstoß geben und hoffe, das sich noch die Profis hier melden. Die weniger als ich schwafeln, dafür weit mehr Know how haben!

    Würde ungerne nur für sowas ein Plugin installieren. Da gibt es doch bestimmt irgend nen Code, den man reinwerfen kann, oder?

    Code, aber kein Plugin, aber bitte irgendwie einfach – das ist so kaum zu lösen.

    WordPress bietet eine eigene Funktion wp_login_form(), mit der du ein Anmeldeformular an beliebiger Stelle einbinden kannst (z.B. mit einem Shortcode), nur ist das nicht „irgendwie einfach“.
    Plugins wie Theme My Login erlauben zahlreiche Anpassungen, aber Plugin soll es ja auch nicht sein.

    Wahrscheinlich würde ich das eher mit einem Plugin wie Peter’s Login Redirect (urgs, schon wieder ein Plugin!) umsetzen: Die Benutzer werden damit unmittelbar nach der Anmeldung auf eine Begrüßungsseite umgeleitet. Den Status dieser Seite kannst du auf Private setzen, damit nur angemeldete Benutzer den Inhalt sehen.

    Um Code Snippets zu verwenden brauchst du entweder ein Child Theme oder noch ein weiteres Plugin, Code Snippets. Ob du da viel Performance und Wartung sparst?

    Ob da jetzt noch Profis kommen, kann ich nicht sagen.

    Hallo @pixolin .. naja ein Profi war ja nun schon mal da!

    Also meinst, jene 2 Plugins tun, was sie versprechen, ua. das was der TS will und sind nicht mit 100 Zusatzfunktionen überladen? Dann wäre es ja gelöst.

    Nur ich würde noch gerne wissen, ob mein is_user_logged_in() Ansatz zt. ok wäre? Klar in ein Child, oder per Codesnippet.

    @pezi Bei den Ausführungen, dass Plugins nicht grundsätzlich „böse“ sind, waren wir uns ja schon einig und das selber Programmieren (und sich dabei auch noch an die Coding Standards, Best Practice und Regeln für die Sicherheit der Website zu halten) nicht unbedingt ideal ist, wenn jemand eine „einfache Lösung“ sucht haben wir auch abgehakt.

    Der Ansatz mit der Funktion is_user_logged_in() ist grundsätzlich auch denkbar, endet aber wieder mit „lästigem“ Programmieren. Denkbar wäre z.B. ein eigener Block, der die Funktion verwendet, sinngemäß in der Art

    if( is_user_logged_in() ) {
    echo 'Hallo, schön dass du dich angemeldet hast.';
    }

    … und wer das nicht selber programmieren möchte, verwendet dann eben doch ein Plugin, in dem Fall z.B. Conditional Blocks.

    Ok, danke. Ja stimmt, nicht jedes Plugin ist Ballast und so, sondern die meist einzig echt einfache Lösung fast aller Extra Ansprüche.

    Ein eigener Block mit Abfragescript, hm? Also wieder was, das Herr Gutenberg dem gewönhlichen Volk der klassischen Editorautoren voraus hat … 😉
    Ich bleib trotzdem beim Klassiker und bau so nen Code schnell auch wo ins Theme.

    PS: Wo bleibt der TS?

    @pezi: Hast du mal Block Lab ausprobiert. Damit macht es richtig Spaß, einen eigenen Block zu entwickeln. Die Dokumentation ist sehr gut nachzuvollziehen. Der Block-Editor ermöglicht gegenüber dem klassischen Editor auch ein aufgelockertes Design.

    Sicher hätte man den Code auch in einen Shortcode packen können, aber die sind irgendwie nicht mehr zeitgemäß. Template geht natürlich auch, ist dann aber recht unflexibel.

    Eingewöhnungs-Probleme mit dem Block-Editor hatte ich mit dem aktuell sehr angesagten Theme Astra und einem der Gutenberg-Starter-Templates. Das benötigt dann noch ein Gutenberg Add-On und verwendet (statt der üblichen Header-/Footer-Settings im Customizer) spezielle Blöcke, was die Sache ein wenig kompliziert. Da bin ich erstmal wieder Einsteiger, kein Profi.

Ansicht von 6 Antworten - 1 bis 6 (von insgesamt 6)
  • Das Thema „Eingeloggte Nutzer auf Seite begrüßen“ ist für neue Antworten geschlossen.