如何统计当前用户的页面?

时间:2013-04-19 作者:tobe

关于如何使用以下工具统计用户帖子,有很多答案:

<?php
    if ( is_user_logged_in() ) {
        global $wpdb;
    $user = wp_get_current_user();
    $where = get_posts_by_author_sql( \'page\', true, $user->ID );
    $count = $wpdb->get_var( "SELECT COUNT(*) FROM $wpdb->posts $where" ); ?>

//option 1
<h2>Hey <?php echo $current_user->display_name ?>, check your page here: {page title with link to page} </h2>

<?php } else { ?>
//option 2
<h2>Welcome <?php echo $current_user->display_name ?>, etc.. text with tags etc.</h2>

<?php } } else { ?>
//option 3
<h2>text with tags etc.</h2>

<?php } ?>
但是,既然用户也可以创建页面,那么在与上述代码类似的情况下,如何获得当前用户的页面数呢?

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

看什么count_user_posts() 在内部执行并更改post type参数:

global $wpdb;
// \'page\' is the important part here
$where = get_posts_by_author_sql(\'page\', true, $userid);
$count = $wpdb->get_var( "SELECT COUNT(*) FROM $wpdb->posts $where" );
然后将代码段更改为:

global $wpdb;
$user = wp_get_current_user();
$where = get_posts_by_author_sql( \'page\', true, $user->ID );
$count = $wpdb->get_var( "SELECT COUNT(*) FROM $wpdb->posts $where" );

if ( $count >= 1 ) {

    // echo your text snippet

} else {

    // echo your form

}

结束

相关推荐

自定义POST类型支持GET_USERS(‘orderby=post_count’);

默认WordPress功能get_users(\'orderby=post_count\'); 仅向用户订购他们所发帖子的数量。你知道如何修改它以支持自定义帖子类型吗?UPDATE:我只想查询“公司项目”类型的帖子。目前,此代码段位于“我的函数”中。php: function user_query_count_post_type($args) { $args->query_from = str_replace(\"post_type = post AND\", \"post_type