Support » Allgemeine Fragen » Info von Autor der aktuellen Page (nicht Post) auslesen

  • Gelöst sabineline

    (@sabineline)


    Guten Morgen,

    ich finde überall nur Informationen, wie man Autoren-Infos zum Autor des aktuellen Posts (z. B. hier) auslesen kann, nicht aber der aktuellen Seite.

    Was ich möchte:
    1. Eine Page erstellen
    2. Ihr als Autor „Bernd Mustermann“ zuordnen
    3. Ihr das Template „Sommer-Template“ zuordnen
    4. Im Code des Sommer-Templates dann etwas wie das hier schreiben, das dann auf der Seite angezeigt wird:

    <?php
    $first_name = "user_firstname"; //mögliche Option des $field-Parameters
    echo "Vorname: " . get_the_author_meta($first_name);
    ?>

    Darüber hinaus möchte ich super gerne noch:
    5. Benutzern über Custom Fields weitere Meta-Felder wie z. B. „Sternzeichen“ zuordnen (habe ich bereits getan)
    und dann auch …
    6. … diese über den oben beschrieben Weg auslesen

    Ich denke mal für 6. funktioniert es dann nicht, einfach nur get_the_author_meta(„user_sternzeichen“) aufzurufen, oder?
    Ich vermute mal, die get_the_author_meta-Funktion akzeptiert nur die vorgegebenen Parameter für $field und ich müsste stattdessen erst die user_id des Autoren ermitteln um dann stattdessen die user_meta anzuzeigen (dort kann man nämlich auch selbst hinzugefügte Meta-Felder auslesen).

    • Dieses Thema wurde geändert vor 3 Jahren, 5 Monaten von sabineline.
Ansicht von 2 Antworten - 1 bis 2 (von insgesamt 2)
  • „Posts“ ist nicht nur die Bezeichnung für das, was wir im deutschen Beiträge nennen, sondern auch ein Sammelbegriff für alle Inhaltsarten, die auf englisch dann Post Types genannt werden. Die Formulierung

    Retrieves the requested data of the author of the current post.

    kannst du dann frei übersetzen mit

    Ruft die angeforderten Daten des Autors des aktuellen Inhalts ab.

    Wenn eine Seite erstellt wird, wird sie automatisch dem Autor zugewiesen, der die Seite erstellt hat. Das brauchst du nicht nochmal explizit machen, es sein denn du möchtest als Administrator oder Redakteur nachträglich eine Seite einem anderen Autor zuweisen. Das kannst du in der Seitenübersicht über eine Mehrfachauswahl oder beim Bearbeiten der einzelnen Seiten vornehmen.

    Templates werden nach der Template-Hierarchie nicht nach dem Autor sondern nach der Art des Inhalts (Beitragsübersichtsseite, Einzelseite, Archive, …) zugeordnet. Du kannst aber Seiten eine eigene CSS-Klasse pro Autor zuzuweisen, etwa …

    add_filter( 'body_class', function( $classes ) {
      global $post;
      $author_id = $post->post_author;
     
        return array_merge( $classes, array( 'author-' . get_the_author_meta( 'nicename', $author_id ) ) );
    } );

    Oder du arbeitest in Templates mit if-Statements.

    Alternativ kannst du Custom Fields (die du bereits verwendest) auch für die Gestaltung einsetzen, also z.B. einen Farbwert für den Hintergrund der Seite über ein Custom Field vorgeben.

    echo "Vorname: " . get_the_author_meta( 'user_firstname' ); geht, wenn du innerhalb der Loop bist. Anderenfalls musst du erst die ID des Autors abrufen und mit get_the_author_meta( 'user_firstname', $post_id ); arbeiten.

    get_the_author_meta('user_sternzeichen') ist knapp vorbei. 🙂
    Für Benutzer gibt es eine eigene Tabelle wp_usermeta in der die Metaangaben gepeichert werden, während die Custom Fields für Seiten und Beiträge in der Datenbanktabelle wp_post_meta abgelegt werden. Mit ACF Pro kannst du allerdings auch direkt eine Metabox hinzufügen, die in die Tabelle wp_user_meta schreibt. Falls du das selber programmieren möchtest, kannst du add_user_meta() nutzen.

    Thread-Starter sabineline

    (@sabineline)

    Hat geholfen, danke! 🙂

Ansicht von 2 Antworten - 1 bis 2 (von insgesamt 2)
  • Das Thema „Info von Autor der aktuellen Page (nicht Post) auslesen“ ist für neue Antworten geschlossen.