Identyfikator autora echa w autor.php

11

To prawdopodobnie bardzo proste pytanie.

Ale jak mogę powtórzyć identyfikator użytkownika na autor.php?

próbowałem

the_author_meta('ID')

Ale to chyba nie chciało działać. Chcę na przykład powtórzyć go na końcu adresu URL;

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

Oczywiście, gdzie „id” to identyfikator konkretnego autora

Jakieś pomysły?

Dean Elliott
źródło
Nie permalinki, to dla zmodyfikowanej wersji wtyczki UserPhoto. Chcę na stałe zakodować konkretny link do obrazu w autor.php, a ponieważ do zdjęć każdego użytkownika dołączany jest jego identyfikator autora, muszę dołączyć ten link
Dean Elliott,

Odpowiedzi:

29

Wypróbuj ten kod.

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

Alternatywnie, jeśli nie ustawiono nazwiska autora, użyj:

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

kredyt @AndyAdams w poniższym komentarzu

Joshua Abenazer
źródło
Daje mi to 500 wewnętrzny błąd serwera
Dean Elliott
Jesteś pewien, że dzieje się tak z powodu powyższego kodu. Czy mógłbym rzucić okiem na twój autor.php?
Joshua Abenazer,
$author = get_user_by( 'slug', get_query_var( 'author_name' ) );nie dał żadnych problemów, to z echo author->ID;jakiegoś powodu spowodował błąd
Dean Elliott,
Ups, jest literówka .. jego echo $ autor-> ID ... zwróć uwagę na '$'. Zaktualizowałem odpowiedź.
Joshua Abenazer,
1
Oboje przegapiliście znak dolara. echo $author->ID;
Johannes Pille,
4

Wypróbuj ten prosty kod

if (is_author()){
    $author = get_queried_object();
    $author_id = $author->ID;
}
Chociaż 1
źródło
Prostszym sposobem na to byłoby$author_id = get_queried_object_id();
Gavin
0

jeśli var_dump(the_author_meta('ID'))ma wartość Null, twój autor nie ma żadnych postów.

Spróbuj użyć echa, $authorjeśli wywołujesz go w środkuauthor.php

Alexufo
źródło