有没有办法实现这些功能wp_count_posts
, wp_count_terms
和wp_count_comments
仅为特定用户返回结果,可能使用用户的ID
?
我正在为自定义帖子类型制作一个自定义的“即时”仪表板小部件,我需要它只显示当前用户的数据,而不是整个站点的数据。
提前谢谢。
<小时>EDIT: 为了回应@kaiser在下面的评论,我做了以下操作,但什么都没有发生-结果与过滤器关闭时的结果相同(不应该是这样-检查此用户是否有不同数量的已发布employee
职位类型)。我的函数中的代码似乎根本没有被调用,因为它没有输出测试echo
内部声明:
<?php
// employer right now widget
wp_add_dashboard_widget(\'dashboard_right_now\', __(\'Right Now\'), \'employer_dashboard_right_now\');
function limit_to_current_user( $where ) {
global $wpdb, $current_user;
$current_user_ID = (int) $current_user->ID;
$new_where = $wpdb->prepare(
$where . " AND post_author = %s "
,$current_user_ID );
var_dump($new_where); // not dumping anything, not even string(0) "" and no errors reported whatsoever, even in php_error_log
return $new_where;
}
function employer_dashboard_right_now() {
// modify query to limit to current user
add_filter(\'posts_where\', \'limit_to_current_user\');
// execute queries
$num_employees = wp_count_posts(\'employee\');
$num_comm = wp_count_comments();
// remove filter
remove_filter(\'posts_where\', \'limit_to_current_user\');
// more code here...
}
?>