在WordPress中添加登录日志可以使用以下示例代码:
function add_login_logs($log, $username, $ip){
$log_file = WP_CONTENT_DIR . '/login-logs.txt'; //定义日志文件路径
$log_time = current_time('mysql'); //获取当前时间
$log_content = "{$log_time} {$username} {$ip} {$log}n"; //拼接日志内容
file_put_contents($log_file, $log_content, FILE_APPEND); //写入日志文件
}
function login_logs($user_login, $user){
$log = 'logged in'; //登录成功日志
$username = $user->user_login; //获取用户登录名
$ip = $_SERVER['REMOTE_ADDR']; //获取用户IP地址
add_login_logs($log, $username, $ip); //写入日志文件
}
function failed_login_logs($username){
$log = 'failed to login'; //登录失败日志
$ip = $_SERVER['REMOTE_ADDR']; //获取用户IP地址
add_login_logs($log, $username, $ip); //写入日志文件
}
add_action('wp_login', 'login_logs', 10, 2); //添加登录成功记录
add_action('wp_login_failed', 'failed_login_logs', 10, 1); //添加登录失败记录
以上代码使用add_action函数添加了两个回调函数,wp_login和wp_login_failed,用于记录成功和失败的登录尝试。在函数中,我们使用file_put_contents函数将日志写入login-logs.txt文件中,包括时间戳、用户名、IP地址和日志类型。
需要注意的是,为了使上述代码工作,需要确保WordPress安装目录的wp-content目录有合适的读写权限,以便能够写入login-logs.txt文件。
返回格式:
在WordPress中添加登录日志可以使用以下示例代码:
```php
function add_login_logs($log, $username, $ip){
$log_file = WP_CONTENT_DIR . '/login-logs.txt'; //定义日志文件路径
$log_time = current_time('mysql'); //获取当前时间
$log_content = "{$log_time} {$username} {$ip} {$log}n"; //拼接日志内容
file_put_contents($log_file, $log_content, FILE_APPEND); //写入日志文件
}
function login_logs($user_login, $user){
$log = 'logged in'; //登录成功日志
$username = $user->user_login; //获取用户登录名
$ip = $_SERVER['REMOTE_ADDR']; //获取用户IP地址
add_login_logs($log, $username, $ip); //写入日志文件
}
function failed_login_logs($username){
$log = 'failed to login'; //登录失败日志
$ip = $_SERVER['REMOTE_ADDR']; //获取用户IP地址
add_login_logs($log, $username, $ip); //写入日志文件
}
add_action('wp_login', 'login_logs', 10, 2); //添加登录成功记录
add_action('wp_login_failed', 'failed_login_logs', 10, 1); //添加登录失败记录
以上代码使用add_action
函数添加了两个回调函数,wp_login
和wp_login_failed
,用于记录成功和失败的登录尝试。在函数中,我们使用file_put_contents
函数将日志写入login-logs.txt
文件中,包括时间戳、用户名、IP地址和日志类型。
需要注意的是,为了使上述代码工作,需要确保WordPress安装目录的wp-content
目录有合适的读写权限,以便能够写入login-logs.txt
文件。