
您现在的位置是:首页 > WordPress教程WordPress教程
WordPress如何用户活动监控
WP集市
2025-08-30
【WordPress教程】
1699人已围观
- 在WordPress里想知道用户干了啥?其实很简单,装个插件比如"WP Security Audit Log",但今天咱们直接撸代码,自己搞个轻量监控。先往主题的functions.php里塞这段:
function track_user_activity() {
if (is_user_logged_in()) {
$user_id = get_current_user_id();
$activity = '用户点击了页面: ' . $_SERVER['REQUEST_URI'];
add_user_meta($user_id, 'custom_activity_log', $activity . ' - ' . current_time('mysql'));
}
}
add_action('wp_head', 'track_user_activity');
这代码会在每个页面头部触发,记录用户ID和访问的URL到用户元数据里,像脚印一样跟着。
- 记录是有了但得能看啊!再整个后台面板显示日志。在管理菜单加个自定义页面:
function add_activity_log_page() {
add_menu_page(
'用户活动日志',
'活动跟踪',
'manage_options',
'activity-log',
'display_activity_log'
);
}
add_action('admin_menu', 'add_activity_log_page');
function display_activity_log() {
echo '<div class="3d1a-90d2-af04-17d7 wrap"><h2>用户活动流水账</h2>';
$users = get_users();
foreach ($users as $user) {
$logs = get_user_meta($user->ID, 'custom_activity_log');
if (!empty($logs)) {
echo '<h3>' . $user->user_email . '的操作:</h3>';
echo '<ul>';
foreach ($logs as $log) {
echo '<li>' . esc_html($log) . '</li>';
}
echo '</ul>';
}
}
echo '</div>';
}
现在到后台就能看到所有用户的点击流水,像看小说一样翻他们的操作。
- 光记录页面访问太单一?咱们升级下,监控文章修改。用这个钩子:
function track_post_changes($post_id) {
if (wp_is_post_revision($post_id)) return;
$user_id = get_current_user_id();
$activity = '用户修改了文章ID: ' . $post_id;
add_user_meta($user_id, 'custom_activity_log', $activity . ' - ' . current_time('mysql'));
}
add_action('save_post', 'track_post_changes');
这样每次保存文章时,就会在日志里多一条修改记录,连草稿更新都不会放过。
- 数据多了怕拖慢数据库?加个自动清理机制。每天凌晨删掉30天前的旧日志:
function cleanup_old_logs() {
$users = get_users();
foreach ($users as $user) {
$logs = get_user_meta($user->ID, 'custom_activity_log', false);
$cutoff_time = strtotime('-30 days');
foreach ($logs as $index => $log) {
if (strtotime(substr($log, -19)) < $cutoff_time) {
delete_user_meta($user->ID, 'custom_activity_log', $log);
}
}
}
}
add_action('wp_scheduled_delete', 'cleanup_old_logs');
用WordPress自带定时任务实现自动归档,数据库就不会膨胀成气球了。
- 最后提醒下,这些代码都是示例,真实用时得加权限检查和安全过滤——比如用wp_kses处理输出,用nonce验证请求。监控用户虽好,但别侵犯隐私啊,最好在隐私政策里说明记录行为。要是懒得折腾,还是装现成插件更稳妥,比如前面提的WP Security Audit Log或者Activity Log。
Tags:
文章版权声明:除非注明,否则均为WP集市原创文章,转载或复制请以超链接形式并注明出处。
下一篇:WordPress如何会话管理

热门文章
