您好,我需要在登录后添加计算用户登录次数的操作
到目前为止,我的代码是:
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_authenticate 而不是 wp_login 但这仍然不起作用。
我在 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);