Mostrare l'immagine dell'autore nei post

17 apr 2012, 10:26:24
Visualizzazioni: 37.1K
Voti: 4

Ho bisogno di visualizzare l'immagine dell'autore insieme ai post. Ho usato il seguente codice per mostrare i post con l'immagine dell'autore.

$the_query = new WP_Query("post_type=post&paged=".get_query_var('paged'));
while ( $the_query->have_posts() ) : $the_query->the_post();

<?php the_excerpt(); ?>
<p><?php the_author_image(); ?></p>

<?php endwhile; ?>

Ma l'immagine dell'autore non viene visualizzata. Non sono riuscito a trovare l'errore. Come posso fare?

Per visualizzare l'immagine dell'autore, dovresti utilizzare la funzione get_avatar(). Ecco il codice corretto:

$the_query = new WP_Query("post_type=post&paged=".get_query_var('paged'));
while ( $the_query->have_posts() ) : $the_query->the_post();

<?php the_excerpt(); ?>
<p><?php echo get_avatar( get_the_author_meta('ID'), 96 ); ?></p>

<?php endwhile; ?>

La funzione get_avatar() accetta due parametri principali:

  • L'ID dell'utente (ottenuto con get_the_author_meta('ID'))
  • La dimensione dell'immagine in pixel (in questo esempio 96)
2
Commenti

Non credo che the_author_image() sia una funzione definita da WordPress: non c'è alcun posto per impostare un'immagine nell'area di modifica del profilo utente nel pannello di controllo. Sembra che tu abbia bisogno di questo plugin: http://wordpress.org/extend/plugins/sem-author-image/ Altrimenti, dovresti caricare manualmente le immagini degli autori, aggiungere un campo personalizzato alla tabella meta utente che memorizza il post di tipo "attachment" per quell'autore, poi recuperare i dati del campo meta e visualizzarli come tag <img> dove hai the_author_image() nel codice sopra.

miahelf miahelf
17 apr 2012 10:38:41

Hai ragione. Sto usando il plugin author image per caricare l'immagine dell'autore. Se uso il codice "while ( have_posts() ) : the_post();" l'immagine dell'autore viene visualizzata correttamente. Ma devo usare il codice "while ( $the_query->have_posts() ) : $the_query->the_post();". Posso ottenere lo stesso risultato con il secondo codice?

designersvsoft designersvsoft
17 apr 2012 10:45:14
Tutte le risposte alla domanda 4
1

So che è vecchio, ma mi ci sono imbattuto poco prima di trovare la soluzione.

Per visualizzare l'immagine dell'autore all'interno del loop, basta usare questo codice:

<?php echo get_avatar( get_the_author_meta( 'ID' ) , 32 ); ?>

Dove '32' rappresenta la dimensione dell'immagine. Se invece ci troviamo fuori dal loop, allora dobbiamo specificare l'ID utente dell'autore.

19 set 2012 19:48:18
Commenti

+1 Grazie per la risposta tardiva! È sempre utile per la community quando le domande vengono approfondite anche dopo che sono diventate stagnanti.

Brian Fegter Brian Fegter
21 set 2012 04:50:47
4

Se non lo stai utilizzando all'interno di un normale loop, ottieni l'ID dell'autore in un modo diverso e usa la funzione in questo modo:

the_author_image($authorid);

In sostanza, devi fornire l'ID dell'autore alla funzione se non ti trovi in un loop appropriato. Se hai difficoltà a ottenere l'ID dalla tua query, fammelo sapere.

17 apr 2012 10:54:07
Commenti

Ho ottenuto correttamente l'ID dell'autore ma l'immagine non viene visualizzata.

designersvsoft designersvsoft
17 apr 2012 11:00:39

Puoi provare a inserire manualmente uno degli ID autore in questo modo e farmi sapere cosa succede: the_author_image(5);

miahelf miahelf
18 apr 2012 03:09:41

Ho utilizzato query_post invece di new wp_query e il codice "the_author_image($authorid);" funziona perfettamente per me. Comunque, grazie mille per il tuo continuo supporto

designersvsoft designersvsoft
19 apr 2012 07:24:21

Se hai trovato la soluzione al tuo problema, vai avanti e pubblica la soluzione come risposta e accettala, oppure se pensi che il mio post abbia chiarito ciò di cui hai bisogno puoi accettarlo invece.

miahelf miahelf
19 apr 2012 10:14:45
0

Nota che le risposte qui si riferiscono alla foto predefinita di Gravatar. Se vuoi scegliere/impostare foto per i tuoi autori, avrai bisogno di un plugin o scrivere il tuo codice come menziona miahelf.

24 ott 2012 20:46:04
1

Caricare un'immagine specifica per l'autore richiede due cose:

  • estendere la funzione get_the_author_meta()
  • collegare l'implementazione dell'estensione al sistema di gestione dei file multimediali in WordPress

Nota: get_the_author_image() è deprecata e non funzionerà per WordPress > 3.0

2 dic 2013 01:52:56
Commenti

Questa è una risposta piuttosto vaga...

kaiser kaiser
2 dic 2013 02:29:32