2012-01-11 108 views
0

我想列出所有的作者在我的WordPress博客發表的帖子,不包括管理員。下面的工作排除管理員,但是當我添加「AND post_count> 0」以僅顯示具有帖子的作者時,它不顯示任何內容。有沒有辦法修改這段代碼,只顯示帶有帖子的作者?WordPress - 只顯示文章的作者

function contributors() { 
global $wpdb; 
$authors = $wpdb->get_results("SELECT ID, user_nicename from $wpdb->users WHERE display_name <> 'admin' AND post_count > 0 ORDER BY display_name"); 

foreach ($authors as $author) { 

echo "<li>"; 
echo "<a href=\"".get_bloginfo('url')."/author/"; 
the_author_meta('user_nicename', $author->ID); 
echo "/\">"; 
echo get_avatar($author->ID, 12); 
echo "</a>"; 
echo "<a href=\"".get_bloginfo('url')."/author/"; 
the_author_meta('user_nicename', $author->ID); 
echo "/\">"; 
the_author_meta('display_name', $author->ID); 
echo "</a>"; 
echo "</li>"; 
} 
} 
+1

歡迎堆棧溢出! 「它不工作」是*從來不是一個好的錯誤描述。請描述出了什麼問題,你得到了什麼錯誤信息等。 – 2012-01-11 21:59:06

+0

感謝-1,我已經更新了我的描述。 – user1144230 2012-01-11 22:40:27

+0

想通了。 我添加了以下功能: $ post_count = get_usernumposts($ author-> ID); 然後在輸出周圍添加if語句,如下所示: if($ post_count> 0){ – user1144230 2012-01-11 23:44:01

回答

1

嘗試與此查詢

SELECT * FROM (SELECT ID, 
    user_nicename, 
    (select count(*) from wp_posts where post_author=w.ID) as posts 
FROM wp_users w 
WHERE display_name <> 'admin' 
ORDER BY display_name) as final WHERE posts>0