2012-05-03 7 views
0

各ユーザーがWordpressにログインした回数を表示するクエリが必要です。Wordpressで各ユーザーのログイン数を表示するSQLクエリ

User | Login_count 
------------------ 
user1 | 2 
------------------ 
user2 | 5 
------------------ 
user3 | 0 

など。

任意のアイデア:結果は次のようなものでしょうか?

+1

どこ構造とあなたがしようとした文はありますか? – Satya

+0

@Satya、私はまだ何も試していない、私は誰かが前にそのクエリを書いているのだろうかと思っていた。 –

+0

テーブル構造がusername/logindateのようなものであれば、私はユーザ名からcountt(*)を選択します。ユーザ名でユーザ名順に並べ替えます。 – Satya

答えて

1

これは、あなたが始めるのに役立つはずです。

add_action('wp_login', 'db_increment'); 
function db_increment($login) 
{ 
    .... 
} 
+0

私はWPがすでにその情報を記録していると思っていましたが、ちょっと、これは巧妙なアプローチです! –

1

は、このような単純な機能を実現するために、別のSQLクエリを作成する代わりにupdate_user_metaを使用することをお勧めします。その意志のため

コード(のfunctions.php)は次のようになります。

function my_handle_login($username, $user) { 
    $login_count = intval(get_user_meta($user->ID, 'user_count', true)); 

    $login_count++; 
    update_user_meta($user->ID, 'user_count', $login_count); 

} 
add_action('wp_login', 'my_handle_login', 10, 2); 


function new_modify_user_table($column) { 
    $column['counter'] = 'Logins Count'; 
    return $column; 
} 
add_filter('manage_users_columns', 'new_modify_user_table'); 


function new_modify_user_table_row($val, $column_name, $user_id) { 
    $user = get_userdata($user_id); 
    switch ($column_name) { 
     case 'counter' : 
      return get_the_author_meta('user_count', $user_id); 
      break; 
     default: 
    } 
    return $return; 
} 
add_filter('manage_users_custom_column', 'new_modify_user_table_row', 10, 3); 
関連する問題