Ausgabe des Autors

  • ich möchte gerne wahlweise ausgeben. wenn beim benutzer/autor der vor- und nachname angegeben wurde sollen diese ausgegeben werden, ansonsten der benutzername. hier mal mein code:

    PHP
    <?php if ( the_author_meta(first_name) && the_author_meta(last_name) != '' ) {
           the_author_meta( first_name );
           the_author_meta( last_name );
    } else { 
           the_author();
    } ?>

    ich habe herausgefunden, das nach einigen löschen und veränderungen das

    PHP
    the_author_meta(first_name)

    in der runden klammer der if-anweisung angezeigt wird (nicht die geschweifte klammer) und das

    PHP
    the_author();

    von else auch angezeigt wird, obwohl vor und nachname des autors angegeben wurden.
    was mache ich falsch?

    • 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

  • mal auf die schnelle und ungetestet ...

    PHP
    <?php if (!empty(the_author_meta('first_name')) && (!empty(the_author_meta('last_name')) ) {
           the_author_meta('first_name');
           the_author_meta('last_name');
    } else { 
           the_author();
    } ?>

    [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]

  • bis auf, das ich die apostrophs vergessen hatte, ist mein obiger code fast richtig.
    das ganze wird dadurch durcheinandergebracht, das der ausdruck the_author_meta('first_name') beim vergleich der if-anweisung in der runden klammer angezeigt wird. mit "get_the_author_meta('first_name')" wird die ausgabe unterdrückt und es funktioniert, so wie es soll. Hier der richtige code:

    PHP
    <?php if (get_the_author_meta('first_name') && get_the_author_meta('last_name') != '') {
         the_author_meta('first_name');
         the_author_meta('last_name');
    } else {
         the_author();
    }?>
  • und ich hatte die erste Klammer vergessen ;-)

    [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]

Jetzt mitmachen!

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