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?


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


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;
}

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

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.