Eco autore ID in author.php


11

Questa è probabilmente una domanda super semplice.

Ma come faccio a ripetere l'ID di un utente su author.php?

ho provato

the_author_meta('ID')

Ma non sembrava voler funzionare. Voglio echeggiarlo alla fine di un URL, per esempio;

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

Ovviamente, dove "id" è l'ID di quel particolare autore

Qualche idea?


Non i permalink, è per una versione modificata del plugin UserPhoto. Voglio codificare un particolare link di immagine in author.php e poiché le immagini di ogni utente vengono visualizzate con il loro ID autore, devo includerlo nel link
Dean Elliott,

Risposte:


29

Prova questo codice.

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

In alternativa, se il nome dell'autore non è stato impostato, utilizzare:

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

credit @AndyAdams nel muggito dei commenti facilmente persi


Questo mi dà un errore del server interno 500
Dean Elliott

Sei sicuro che sia a causa del codice sopra. Potrei dare un'occhiata al tuo autore.php?
Joshua Abenazer,

$author = get_user_by( 'slug', get_query_var( 'author_name' ) );non ha dato problemi, è stato quello echo author->ID;che ha causato l'errore per qualche motivo
Dean Elliott il

Oops c'è un errore di battitura .. la sua eco $ author-> ID ... nota '$'. Aggiornato la risposta.
Joshua Abenazer,

1
Entrambi avete perso un segno di dollaro. echo $author->ID;
Johannes Pille,

4

Prova questo semplicemente codice

if (is_author()){
    $author = get_queried_object();
    $author_id = $author->ID;
}

Un modo più semplice per farlo sarebbe$author_id = get_queried_object_id();
Gavin,

0

se var_dump(the_author_meta('ID'))è null il tuo autore non ha post.

Prova a usare l'eco $authorse lo chiami dentroauthor.php

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.