Ajax LogIn + the_content = nur wie?

  • Liebe Forumler,

    Folgendes: Ich möchte in einem Artikel einen Ajax-Login platzieren, was so weit auch gut funktioniert. Nur würde ich gerne in den Artikel einen Text schreiben, der NUR VOR dem einloggen angezeigt wird. (Die if-Abfrage mit der Kategorie ist nur dazu da den Artikel mit dem Ajax-Login zu laden).

    PHP
    <?php if ( in_category(23) ) { get_ajaxlogin(); } ?> [COLOR=DimGray]// ursprüngliche Abfrage[/COLOR]
    
    
    <?php if ( in_category(23) ) { get_ajaxlogin()&&the_content; } ?>  [COLOR=DimGray]// Abfrage mit the_content[/COLOR]

    Einbinden des Logins: funktioniert
    Einbinden Content: funktioniert

    Meine Frage: Wie kann ich da eine if/(elseif/)else-Abfrage einbauen, ob der User eingeloggt ist und dementsprechend 'the_content' ausgeben oder nicht ausgeben. Hab leider nur Abfragen über die ID gefunden und alles in die folgende Richtung gibt leider Fehlermeldungen aus, weil ich irgendwas falsch mache:

    PHP
    <?php
                        global $user_id;
                        if (($user_id>0) && (in_category(23))) {
                        get_ajaxlogin(); } 
                        else {
                        { get_ajaxlogin()&&the_content; }
                        ?>
    • 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

  • Hab leider nur Abfragen über die ID gefunden und alles in die folgende Richtung gibt leider Fehlermeldungen aus, weil ich irgendwas falsch mache:


    Welche Fehlermeldung?

    Nach "else" ist eine Klammer zuviel:

    PHP
    <?php
                        global $user_id;
                        if (($user_id>0) && (in_category(23))) {
                        get_ajaxlogin(); } 
                        else [COLOR="Red"][B]{
                        { [/B][/COLOR]get_ajaxlogin()&&the_content; }
                        ?>
  • Danke, Marx! Die Fehlermeldung hat sich so erledigt... ich werd schön langsam Sonderzeichen-blind.

    Das eigentliche Problem allerdings noch nicht. Ich möchte the_content() ja nur für nicht eingeloggte Benutzer ausgeben. the_content() wird allerdings nur angezeigt, wenn ich ihn wie im folgenden Code-Bsp (grau) vor die If-Abfrage stelle. In der Abfrage bleibe ich ohne Ergebnis

    PHP
    [COLOR=DimGray]<?php the_content(); ?>[/COLOR]
                        <?php
                                    global $user_id;
    [COLOR=RoyalBlue]                        if (($user_id>0) && (in_category(23))) { // Variante 1[/COLOR]
    [COLOR=MediumTurquoise]                        if (is_user_logged_in() && (in_category(23))) { // Variante 2[/COLOR]
    [COLOR=Purple]                        if (($user_level>0) && (in_category(23))) { // Variante 3[/COLOR]
                                get_ajaxlogin(); } 
                            else {
                                        get_ajaxlogin()&&the_content(); }
                              ?>

    Mich wunderts schön langsam, weil ich mich ja wirklich bemüh dahinter zu kommen. :? Egal welche Variante ich probier... sie funktioniert einfach nicht.

  • Danke, Marx! Die Fehlermeldung hat sich so erledigt... ich werd schön langsam Sonderzeichen-blind.


    Mmh, aber das wird die fehlermeldung ja sagen. Entweder "unexpected {" oder "unexpected $end" (wahrscheinlich letzteres).

    Zitat

    Das eigentliche Problem allerdings noch nicht. Ich möchte the_content() ja nur für nicht eingeloggte Benutzer ausgeben. the_content() wird allerdings nur angezeigt, wenn ich ihn wie im folgenden Code-Bsp (grau) vor die If-Abfrage stelle. In der Abfrage bleibe ich ohne Ergebnis


    is_user_logged_in() ist schon das richtige. Liefert in_category(23) das richtige (also in dem Fall natürlich true) zurück? Und was soll das logische UND hier?

    Code
    get_ajaxlogin()[COLOR="Red"]&&[/COLOR]the_content();


    (Ist zwar syntaktisch nicht falsch, aber semantisch. ;-))

  • is_user_logged_in() ist schon das richtige. Liefert in_category(23) das richtige (also in dem Fall natürlich true) zurück? Und was soll das logische UND hier?

    Code
    get_ajaxlogin()[COLOR=Red]&&[/COLOR]the_content();

    (Ist zwar syntaktisch nicht falsch, aber semantisch. ;-))

    alles klar... syntaktisch und semantisch... hab´s jetzt folgendermaßen gemacht und funktioniert ausgezeichnet (reihenfolge ist wg layout jetzt verdreht):

    Code
    else {
                                        the_content() . get_ajaxlogin(); }

    (Wieder einmal) Danke für den Hinweis!

Jetzt mitmachen!

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