0

こんにちは、ログイン後にユーザーのログインをカウントするアクションを追加する必要があります

これまでの私のコードは次のとおりです。

function count_logins($user_login, $wp_user) {

    $metaName = 'logins_count_since_release-0-0';

    $login_count = (int)get_user_meta($wp_user->ID, $metaName, true);
    $login_count++;

    update_user_meta($wp_user->ID, $metaName, $login_count);

    error_log('WAS HERE');

}

add_action('wp_login', 'count_logins', 10, 2);

wp_login の代わりに wp_authenticate も試しましたが、これはまだ機能しません。

このコードを header.php ファイル内に追加しました

問題は、theme-my-login でログインして apache2 error.log を確認した後、「WAS HERE」という行がないため、この theme-my-login はログイン後に別のアクションを使用していると思います。

これが機能するための正しいアクションは何ですか?

どうも。

編集/解決済み

これを wp-includes/user.php に移動しました

私はカスタムメイドのテーマを持っているので

function count_logins($username) {

    $user_id = username_exists($username);
    $metaName = 'logins_count_since_release-0-0';

    $login_count = (int)get_user_meta($user_id, $metaName, true);
    $login_count++;

    update_user_meta($user_id, $metaName, $login_count);

}

add_action('wp_authenticate', 'count_logins', 10, 1);
4

1 に答える 1

0

このコードをテーマのロード/アクション フック ファイルに追加します。header.php はテンプレートファイルです。あなたのアクションは、header.php が読み込まれる前にすでに行われています。

WordPress ドキュメント

http://codex.wordpress.org/Plugin_API/Action_Reference/wp_authenticate

于 2013-05-22T16:05:15.757 に答える