2016-07-11 7 views
1

Ich versuche, alle meine Autoren/Benutzer in einer benutzerdefinierten Seite Vorlage mit erweiterten benutzerdefinierten Feldern anzuzeigen. Ich verwende den folgenden Code, um ihre Profilfotos anzuzeigen, die von einem ACF-Bildfeld namens author_header stammen. Ich stelle die Benutzer in ungeordnete Listen durch die folgenden.Alle Benutzer/Autoren in WordPress-Vorlage anzeigen

<div class="author"> 
<ul> 
<li>     
<?php 
$publisher_photo = get_the_author_meta('author_header'); 
$image_src = wp_get_attachment_image_src($publisher_photo); 
echo '<img src="'. $image_src[0] .'" />'; 
?> 
</li> 
</ul> 
</div> 

Das Problem, mit dem ich konfrontiert bin, ist, dass alle Benutzer mein Profilfoto bekommen. Ich möchte in der Lage sein, nur diejenigen zu greifen, die sie in das Feld author_header hochgeladen haben. Ich habe auch diesen überarbeiteten Code ausprobiert, aber der img src erscheint nicht.

<?php 
$field_name = "author_header"; 
$post_id = "user_{$user_id}"; 
$publisher_photo = get_field($field_name, $post_id); 
$image_src = wp_get_attachment_image_src($publisher_photo); 
echo '<img src="'. $image_src[0] .'" />'; 
?> 

Ich habe alle ihre Namen richtig in der ungeordneten Liste angezeigt durch folgende.

<h2 class="authorName">[&nbsp;<?php echo $user->display_name; ?>&nbsp;]</h2> 

Antwort

2

Sie sollten die Benutzer-ID in get_the_author_meta wie folgt hinzu:

$user_id = $user->ID; 
$publisher_photo = get_the_author_meta('author_header', $user_id); 

Bitte stellen Sie sicher, dass Sie diesen Code in der Schleife hinzufügen wird, so user_id für unterschiedliche Benutzer jedes Mal anders sein.

Grüße, Stanimir