Identifiant de l'auteur en écho dans author.php

11

C'est probablement une question super simple.

Mais comment puis-je faire écho à l'ID d'un utilisateur sur author.php?

J'ai essayé

the_author_meta('ID')

Mais il ne semblait pas vouloir fonctionner. Je veux l'écho à la fin d'une URL, par exemple;

http: ///www.domain.com/author/sampleauthor-id

De toute évidence, où "id" est l'ID de cet auteur particulier

Des idées?

Dean Elliott
la source
Pas les permaliens, c'est pour une version modifiée du plugin UserPhoto. Je veux coder en dur un lien d'image particulier dans author.php et comme les images de chaque utilisateur sont ajoutées avec leur ID d'auteur, je dois l'inclure dans le lien
Dean Elliott

Réponses:

29

Essayez ce code.

$author = get_user_by( 'slug', get_query_var( 'author_name' ) );
echo $author->ID;

Alternativement, si le nom de l'auteur n'a pas été défini, utilisez:

if ( $author_id = get_query_var( 'author' ) ) { $author = get_user_by( 'id', $author_id ); }

crédit @AndyAdams dans les commentaires ci-dessous facilement manqués

Joshua Abenazer
la source
Cela me donne une erreur de serveur interne de 500
Dean Elliott
Êtes-vous sûr que c'est à cause du code ci-dessus .. pourrais-je jeter un œil à votre author.php?
Joshua Abenazer
$author = get_user_by( 'slug', get_query_var( 'author_name' ) );n'a donné aucun problème, c'est la echo author->ID;cause de l'erreur pour une raison quelconque
Dean Elliott
Oups il y a une faute de frappe .. son echo $ author-> ID ... notez le '$'. Mis à jour la réponse.
Joshua Abenazer
1
Vous avez tous les deux raté un signe dollar. echo $author->ID;
Johannes Pille
4

Essayez simplement ce code

if (is_author()){
    $author = get_queried_object();
    $author_id = $author->ID;
}
While1
la source
Une façon plus simple de le faire serait$author_id = get_queried_object_id();
Gavin
0

si var_dump(the_author_meta('ID'))Null, votre auteur n'a publié aucun article.

Essayez d'utiliser l'écho $authorsi vous l'appelez à l'intérieurauthor.php

Alexufo
la source