2012-01-11 41 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

ようこそにお試しください! "うまくいかない"とは、決して良いエラー記述ではありません。間違ったこと、エラーメッセージの内容などを説明してください。 –

+0

-1のおかげで、私の説明が更新されました。 – user1144230

+0

それを考え出した。 次の関数を追加しました: $ post_count = get_usernumposts($ author-> ID); 次に、出力の周りにifステートメントを追加します。 if($ post_count> 0){ – user1144230

答えて

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 
関連する問題