2016-03-27 9 views
1

Ich benutze Barcelona theme und ich brauche Autoren, die in einer bestimmten Kategorie veröffentlicht haben.Erhalten Autoren, die Beiträge in der Kategorie

In meiner author.php Vorlage Ich habe:

$barcelona_authors = get_users(array(
    'fields' => 'ID', 
    'who' => 'authors', 
    'order' => 'DESC', 
    'orderby'=> 'post_count' 
)); 

<?php 
foreach ($barcelona_authors as $barcelona_author_id) { 
    barcelona_author_box($barcelona_author_id, false); 
} 
?> 

Wie Autoren zu erhalten, die 59 bis Kategorie ID Beiträge geschrieben hat?

Zum Beispiel habe ich versucht, mit:

$barcelona_authors = get_posts('category=59'); 

Aber ich bin immer Fehler. Irgendeine Hilfe?

ERROR:

Notice: Object of class WP_Post could not be converted to int in /home/wp-includes/author-template.php on line 296

+1

Was ist der Fehler? – Technoh

Antwort

0

war die Lösung für Barcelona theme:

$barcelona_posts = get_posts('cat=59'); 
$barcelona_author_ids = array(); 

foreach ($barcelona_posts as $k => $v) { 
    if (! in_array($v->post_author, $barcelona_author_ids)) { 
     $barcelona_author_ids[] = $v->post_author; 
    } 
} 

$barcelona_authors = get_users(array(
    'fields' => 'ID', 
    'who' => 'authors', 
    'order' => 'DESC', 
    'orderby'=> 'post_count', 
    'include' => $barcelona_author_ids 
)); 
0

Ihr get_posts('category=59') Code funktionieren sollte. Ich habe das Folgende auf einer meiner Test-Wordpress-Installation getestet und es funktioniert (natürlich mit einer anderen Kategorie-ID). Wenn Sie während des Anrufs get_posts einen Fehler erhalten, müssen Sie uns den Fehler anzeigen. Diese

<?php 

    $category_posts = get_posts('category=59'); 
    $authors_ids = array(); 
    $authors = array(); 

    foreach($category_posts as $cat_post) { 
     $authors_ids[] = $cat_post->post_author; 
    } 

    // Not sure if you need more data than just the ID so here is what you need 
    // to get other fields. 

    foreach($authors_ids as $id) { 
     $user = get_user_data($id); 
     // Display name: $user->display_name; 
     // Nice name: $user->user_nicename; 
     // etc... 
    } 

?>