Code Snippets - keine Ausgabe

  • Hallo!

    Ich möchte mich Code Snippets abfragen, ob ein User angemeldet ist und dann eine CSS-Klasse anpassen. Da ich zu keiner Lösung gekommen bin, ich vorerst an einen Fehler in meinem Code gedacht habe, habe ich nach längeren Herumprobieren mal ein einfaches

    PHP
    echo "Hallo Welt";

    probiert und ich erhielt auch hier keine Ausgabe.

    Snippet ist aktiviert und der Haken ist bei "Only run on site front-end" gesetzt.

    Was muss ich da noch eingeben?

    Vielen Dank!

    • 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

  • Was genau ist denn "Code Snippets"? Ein Plugin? Welches genau? Wo gibst du den Code ein? Wo würdest du die Ausgabe erwarten?

    Wird "Hallo Welt" nur nicht angezeigt oder ist es auch an keiner Stelle im Quelltext enthalten?

    Welche Klasse möchtest du denn anpassen? Ich habe fast das Gefühl, deine Code wäre in der functions.php deines Child-Themes besser aufgehoben...

  • Hallo!

    Sorry, für die Verspätung!
    Ich meine das Code Snippets Plugin, damit ich eben keine Änderung in der functions.php vornehmen muss.

    "Hallo Welt" ist auch nirgends im Quelltext enthalten.

    Vielen Dank!

  • Wie sieht der Code Schnipsel den genau aus?

    [size=10]Bitte immer zuerst die Forensuche nutzen und erst danach Deine Fragen hier im Forum stellen, denn sehr vieles wurde schon mehrfach beantwortet. Bitte dabei auch die Forenregeln beachten.
    Kein Support per PN - Fragen gehören ins Forum.[/SIZE]
    [size=8]Wenn du eine weise Antwort verlangst, musst du vernünftig fragen. (Johann Wolfgang von Goethe)[/SIZE]

  • Versuche es mal damit:

    Code
    function my_wp_head() {
        echo "<!-- my_wp_head -->";
    }
    add_action( 'wp_head', 'my_wp_head' );


    Und/oder auch damit:

    Code
    function my_body_class( $classes ) {
        if ( is_user_logged_in() ) {
            $classes[] = 'my-user-is-logged-in-class';
        }
        return $classes;
    }
    add_filter( 'body_class', 'my_body_class' );


    Link zur Seite wo diese Snippets eingebunden sein sollten?

    5 Mal editiert, zuletzt von b3317133 (7. September 2020 um 12:49)

  • Offenbar werden derzeit keine Ausgaben der o.g. Snippets angezeigt oder die Snippets sind nicht korrekt eingebunden. Mehr kann man "von aussen" dazu schwer bzw. nicht sagen. Der angelegte Testaccount wurde entfernt, also musst Du selbst weitersuchen...

    Ich möchte mich Code Snippets abfragen, ob ein User angemeldet ist und dann eine CSS-Klasse anpassen.


    Auf der Seite läuft das Ultimate Member Plugin, dort gibt es eine Klasse [FONT=Courier New]um-page-loggedin[/FONT] im body Tag. Generell gibt es eine Klasse [FONT=Courier New]logged-in[/FONT] von WordPress im body Tag. Diese Klassen könntest Du für Dein Vorhaben nutzen.

    Für Ausgaben nur für Mitglieder stellt das Plugin auch entspr. Shortcodes bereit, evtl. ist schon alles vorhanden, was Du brauchst, ganz ohne Snippets.

  • Wunderbar, die Ausgabe ist nun da.
    Vielen Dank!

    Ich möchte nun eine Javascript-Funktion in PHP einfügen, die mir eine CSS-Klasse verändert:

    PHP
    function my_function() {
        echo"<script>window.onload = function(){document.getElementByClassName('bookacti-availability-container').style.display = 'none';}</script>";
    }
    add_action( 'wp_footer', 'my_function' );

    Ich habe dafür das ganze mal in den Footer verlagert, weil sonst ja die Klasse noch nicht vorhanden ist.
    Er fügt mir das Skript ein, aber es wird noch alles angezeigt...

  • Vielleicht solltest Du genauer erklären, was Du eigentlich mit dieser vergleichsweise komplizierten Konstruktion bezweckst.

    Normalerweise würde man, um für angemeldete Benutzer etwas mit der Klasse [FONT=Courier New]bookacti-availability-container[/FONT] auszublenden, einfach sowas in Design > Customizer > Zusätzliches CSS schreiben:

    Code
    .logged-in .bookacti-availability-container {
        display: none;
    }
  • Vielen Dank für die Hilfe!

    [size=14]So wäre es gedacht, nur gibt es die Klasse ".logged-in" noch nicht. Dass heißt ich muss zuerst abfragen, ob der User angemeldet ist und dann die entsprechende Klasse ein- bzw. ausblenden.
    Mit CSS über den Customizer hatte ich es schon, da ist es dann halt dauerhaft weg.
    Ich möchte meinem User eine Information anzeigen, aber erst wenn er angemeldet ist.

    Vielen Dank![/SIZE]

  • Die Klasse [FONT=Courier New]logged-in[/FONT] im body Tag ist wie oben beschrieben automatisch vorhanden wenn ein Benutzer angemeldet ist.

    Wie man für angemeldete Benutzer ansonsten z.B. über Shortcodes Dinge angezeigt, siehe ebenfalls oben in Beitrag #11.

    Beschäftige Dich am besten mal etwas mit der Dokumentation des genutzten Plugins.

Jetzt mitmachen!

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