是否有办法计数和显示自定义帖子类型中除当前登录用户之外的所有作者帖子的计数?
我希望有办法count_many_users_posts 但似乎没有办法排除作者,只包括他们。
我做了多次搜索,但都没有找到任何线索,甚至没有找到正确的方向。
以下是codex的示例:
<?php
$users = array(1, 3, 9, 10);
$counts = count_many_users_posts($users);
echo \'Posts made by user 3: \' . $counts[3];
?>
TIA!
编辑时:
我只是想让你们知道我还没有重温这一点。我会尝试解决方案,等我到了那里再回来。此时又出现了另一个项目。
谢谢
最合适的回答,由SO网友:Justice Is Cheap 整理而成
我不知道为什么会这样,但确实如此。
$authorid = get_current_user_id();
query_posts(array(
\'post_type\' => \'tasks\',
\'author\' => -$authorid,
) );
$count = 0;
while (have_posts()) : the_post();
$count++;
endwhile;
echo \'<p class="else"><em>\' .$count .\'</em></p><span class="description">All other posts</span>\';
wp_reset_query();
SO网友:birgire
如果站点上的用户数量相对较少,您可以尝试:
$user_ids = get_users(
[
\'fields\' => \'ID\', // Only return the user IDs
\'exclude\' => (array) get_current_user_id(), // Exclude the current user
\'number\' => 10 // Modify this number to your needs
]
);
然后将其作为输入
count_many_users_posts() 功能:
$counts = count_many_users_posts(
(array) $user_ids,
$post_type = \'post\',
$public_only = false
);
您可以根据需要调整帖子类型。
SO网友:Dustin Woods
您可以使用许多WordPress查询功能,但我建议保持查询精简,避免使用WP\\U查询,因为您不需要帖子内容。以下是一个小函数,它将返回不属于user\\u id的post\\u类型的帖子数:
function get_post_count_exclude_user($post_type,$user_id) {
$query = "SELECT COUNT( * ) AS num_posts FROM {$wpdb->posts} WHERE post_type = %s AND post_author <> %s";
return $wpdb->get_var( $wpdb->prepare( $query, $post_type, $user_id ) );
}
$number_of_posts = get_post_count_exclude_user(\'my_post_type\',get_current_user_id());