2009-12-29 4 views
2

모든 저자가 포함 된 배열을 제공하고 싶습니다. html (wp_list_authors())를 반향시키는 일부 벙어리 함수가 있습니다. 그러나 그것이 내가 원하는 것은 아닙니다.Wordpress :리스트 작성자

전체 프로필 (ID, 이름, 메타 데이터)을 가져오고 싶습니다.

내 현재 접근 방식은 내가 찾고있는 것이 아니며 정확하게 말하면 ** it입니다.

$authors = wp_list_authors(array(
'optioncount' => false, 
'exclude_admin' => false, 
'show_fullname' => false, 
'hide_empty' => false, 
'echo'   => false, 
'html'  => false) 
); 
$authors = explode(", ", $authors); 

여기에도 get_author_id_by_name() 또는 유사 항목이 없으므로 여기에 붙어 있습니다.

제발 도와 드리겠습니다, 나는 friggin 템플릿에서 SQL을하고 싶지 않습니다.

답변

1

누군가가 여전히 찾고있는 경우에, 이것은 올바른 방법으로 저자의 배열을 반환하는 방법입니다.

function get_all_authors() { 
global $wpdb; 

foreach ($wpdb->get_results("SELECT DISTINCT post_author, COUNT(ID) AS count FROM $wpdb->posts WHERE post_type = 'post' AND " . get_private_posts_cap_sql('post') . " GROUP BY post_author") as $row) : 
    $author = get_userdata($row->post_author); 
    $authors[$row->post_author]['name'] = $author->display_name; 
    $authors[$row->post_author]['post_count'] = $row->count; 
    $authors[$row->post_author]['posts_url'] = get_author_posts_url($author->ID, $author->user_nicename); 
endforeach; 

return $authors; 
} 

반환 어레이 ($authors)는 키와 사용자의 ID를 포함하고, 또한 저자 링크 게시물 개수 및 이름을 포함한다. 물론, 테마보기에서 변수로 get_all_authors()을 설정하고 원하는대로 반복 할 수 있습니다.

희망이 도움이됩니다.

+1

그것은 내 마음을 불면 wordpress가 거의 없다 "그냥 내게 바보 같은 서식없이 데이터를 입력하십시오"기능을 입력하십시오. 저자 목록을 얻는 것이 케이크 조각이라고 생각하십니까? BLARG !!!! 이것에 정말 감사드립니다! – mrbinky3000

-1
global $wpdb; 
$allAuthorIds = $wpdb->get_column("SELECT ID FROM {$wpdb->users}"); 
$authorsInfo = array(); 
foreach($allAuthorIds as $authorId) { 
    $authorsInfo[$authorId] = get_userdata($authorId); 
} 

$ authorsInfo 배열 (WP 포함하여이 정보를 확장). 역할 ('작성자')별로 사용자를 가져와야하는 경우 WP_User_Search 클래스를 사용해야합니다. 당신은 꽤 많이 여기에 SQL을 사용하도록 강요하지만 아무 문제가 없습니다.

+0

어쨌든 ^.^감사합니다. 시도해 보겠습니다. – Jens

+0

위의 코드를 사용하는 사람은 "$ authorId"대신 "$ authorId-> ID"를 사용하십시오. get_userdata에 대해. – Jens

+0

죄송합니다. 수정할 수정되었습니다. – nickohrn

0

get_users을 사용하는 것이 더 좋으며, codex에 있습니다.