Die Rolle eines Autors in WordPress bekommen

Lesezeit: 2 Minuten

Ich arbeite an meiner ersten WP-Site und muss die Rolle eines Autors neben seinem Beitrag anzeigen. So etwas wie “Jimmy | Administrator”. Betrachtet man die verfügbaren Autoren-Metadaten: http://codex.wordpress.org/Function_Reference/the_author_meta gibt mir keine Möglichkeit, darauf zuzugreifen. Ich bin sicher, es gibt einen schnellen und einfachen Weg, dies zu tun, und ich weiß es einfach nicht !! Danke!

Die Rolle eines Autors in Wordpress bekommen
maiorano84

AKTUALISIEREN: Fügen Sie dies in Ihre functions.php-Datei ein:

function get_author_role()
{
    global $authordata;

    $author_roles = $authordata->roles;
    $author_role = array_shift($author_roles);

    return $author_role;
}

Rufen Sie dies dann in Ihrer WordPress-Schleife auf. Damit:

<?php
if(have_posts()) : while(have_posts()) : the_post();
    echo get_the_author().' | '.get_author_role();
endwhile;endif;
?>

…druckt: ‘Jimmy | Administrator’

VOLLSTÄNDIGE ANTWORT: Das Benutzerobjekt selbst speichert tatsächlich Rollen und andere nützliche Informationen. Wenn Sie eine eher allgemeine Funktion zum Abrufen der Rolle eines bestimmten Benutzers wünschen, übergeben Sie einfach die ID des Benutzers, den Sie mit dieser Funktion ansprechen möchten:

function get_user_role($id)
{
    $user = new WP_User($id);
    return array_shift($user->roles);
}

Und wenn Sie den Autor eines bestimmten Beitrags schnappen möchten, nennen Sie ihn so:

<?php
if(have_posts()) : while(have_posts()) : the_post();
    $aid = get_the_author_meta('ID');
    echo get_the_author().' | '.get_user_role($aid);
endwhile;endif;
?>

ANTWORT AUF DEN LETZTEN KOMMENTAR:

Wenn Sie Daten außerhalb der WordPress-Schleife abrufen müssen (was Sie meiner Meinung nach auf einer Archiv- und Autorenseite versuchen), können Sie die Funktion aus meiner vollständigen Antwort wie folgt verwenden:

global $post;
$aid = $post->post_author;
echo get_the_author_meta('user_nicename', $aid).' | '.get_user_role($aid);

Dadurch werden die gewünschten Informationen in Ihrem Format “Benutzer | Rolle” ausgegeben.

  • Es funktioniert gut in der Zwischenschleife, aber wenn ich auf der Archivseite oder der Autorenseite hinzufüge, erhalte ich eine Warnung: Warning: array_shift() expects parameter 1 to be array, null given in Können Sie mir helfen, das zu lösen?

    – Code-Liebhaber

    29. Mai 2012 um 16:24 Uhr

  • @pixelngrain Sehen Sie sich mein neuestes Update an, um die Antwort zu erhalten, die Sie benötigen. Das sollte es Ihnen ermöglichen, die benötigten Informationen außerhalb der Schleife abzurufen.

    – maiorano84

    29. Mai 2012 um 18:59 Uhr

  • Denken Sie daran, dass Sie die Eigenschaft post_author auch innerhalb der Schleife auf Ihren Archivseiten verwenden können.

    – maiorano84

    29. Mai 2012 um 19:01 Uhr

1003990cookie-checkDie Rolle eines Autors in WordPress bekommen

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy