Kategorien nach Autor auflisten ~ WITH COUNTER ~ (Wordpress)
Dies ist der Code, den ich habe. Es gibt eine Liste der Kategorien, in denen ein bestimmter Autor veröffentlicht hat. Ich hätte jedoch sehr gerne eine Nummer neben dem Kategorienamen, die angibt, wie viele Beiträge der Autor in den verschiedenen Kategorien veröffentlicht hat. Kennt jemand einen Trick? Vielen Dank!
<?php
$author = get_query_var('author');
$categories = $wpdb->get_results("
SELECT DISTINCT(terms.term_id) as ID, terms.name, terms.slug, tax.description
FROM $wpdb->posts as posts
LEFT JOIN $wpdb->term_relationships as relationships ON posts.ID = relationships.object_ID
LEFT JOIN $wpdb->term_taxonomy as tax ON relationships.term_taxonomy_id = tax.term_taxonomy_id
LEFT JOIN $wpdb->terms as terms ON tax.term_id = terms.term_id
WHERE 1=1 AND (
posts.post_status = 'publish' AND
posts.post_author = '$author' AND
tax.taxonomy = 'category' )
ORDER BY terms.name ASC
");
?>
<ul>
<?php foreach($categories as $category) : ?>
<li>
<a href="<?php echo get_category_link( $category->ID ); ?>" title="<?php echo $category->name ?>">
<?php echo $category->name.' '.$category->description; ?>
</a>
</li>
<?php endforeach; ?>
</ul>
BEARBEITEN:
Dieser Code zählt die Beiträge in der Kategorie und funktioniert einwandfrei. Ich möchte dies mit dem obigen Code kombinieren, weiß aber nicht, wie ich es machen soll ...
<?php
$counter = "SELECT COUNT(*)
FROM $wpdb->posts
LEFT JOIN $wpdb->term_relationships ON($wpdb->posts.ID = $wpdb->term_relationships.object_id)
LEFT JOIN $wpdb->term_taxonomy ON($wpdb->term_relationships.term_taxonomy_id = $wpdb->term_taxonomy.term_taxonomy_id)
WHERE $wpdb->term_taxonomy.term_id = 412
AND $wpdb->term_taxonomy.taxonomy = 'category'
AND $wpdb->posts.post_status = 'publish'
AND post_author = '1'
";
$user_count = $wpdb->get_var($counter);
echo $user_count;
?>