0

編集: 別のスレッドでこのトピックについて詳しく説明しました:作成者によるカテゴリの一覧表示 ~ WITH COUNTER ~ (Wordpress) ... より適している可能性があります。

私が自分のカテゴリーページにいるとき、読者に誰がそこに投稿しているかを見て、著者でフィルターをかけたい. (例: アクティビズムには 127 件の投稿があり、Adrian は 37 件、James は 12 件など…) 私は何百万ものことを試しましたが、私の単純な作業に役立つものは何もありません! 同じような経験をした人はいますか?

これは私が持っているものです:

<?php

$curauth = $wp_query->get_queried_object();

$auth_id = 1;
$cat_id = 2411;

$sql = "SELECT COUNT(*)
FROM $wpdb->posts p
JOIN $wpdb->term_relationships tr ON (p.ID = tr.object_id)
WHERE post_author = $auth_id
AND post_type = 'post'
AND post_status = 'publish'
AND post_date <= NOW()
AND tr.term_taxonomy_id = $cat_id
";
$post_count = $wpdb->get_var($sql);
echo "This Author has published $post_count posts in Activism<br />";

?>

編集:

OK、このコードは機能します!!! ……嬉しい反面、ちょっと戸惑います。なぜこれが機能し、上記のpneが機能しないのですか?

<?php 

$auth_id = 1; 
$cat_id = 2411;

$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 = $cat_id
AND $wpdb->term_taxonomy.taxonomy = 'category'
AND $wpdb->posts.post_status = 'publish'
AND post_author = '$auth_id'
";

$user_count = $wpdb->get_var($counter);


echo "Author... has $user_count posts in Activism<br />";

?>
4

0 に答える 0