特定用户的wp_count_post、wp_count_Terms和wp_count_Comments?

时间:2012-05-11 作者:Ana Ban

有没有办法实现这些功能wp_count_posts, wp_count_termswp_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...

}

?>

1 个回复
最合适的回答,由SO网友:Ana Ban 整理而成

我最终为编写了自己的自定义代码wp_count_posts()wp_count_comments() 根据原始代码从头开始(通过自定义wp查询)生成计数(wp_count_posts() 在中wp-includes/post.phpwp_count_comments() 在中wp-includes/comment.php). 感谢@kaiser的出色努力。

结束

相关推荐

Video tutorials in Dashboard

我想在wordpress仪表板中插入一些视频教程,而不是为客户端创建pdf手册,因为我认为它们对这个客户端来说更容易,我该怎么做呢?我想在仪表板上放4个视频。为了保护他们的隐私,哪里是接待他们的最佳场所?