https://6ke.li/forum-post/1306.html
<?php
/**
* Plugin Name: 在线用户统计
* Plugin URI: https://6.ke
* Description: 统计在线用户和游客,支持多种显示样式和自定义设置。
* Version: 1.0.0
* Author: 6ke论坛-人皇
* Author URI: https://6.ke
*
* @package OnlineUsersTracker
*/
// 如果直接访问该文件,则退出
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
// 定义插件常量
define( 'ONLINE_USERS_TRACKER_VERSION', '1.0.35' );
define( 'ONLINE_USERS_TRACKER_PLUGIN_DIR', plugin_dir_path( __FILE__ ) );
define( 'ONLINE_USERS_TRACKER_PLUGIN_URL', plugin_dir_url( __FILE__ ) );
// 包含必要的文件
require_once ONLINE_USERS_TRACKER_PLUGIN_DIR . 'includes/class-online-users-tracker.php';
require_once ONLINE_USERS_TRACKER_PLUGIN_DIR . 'includes/class-online-users-widget.php';
require_once ONLINE_USERS_TRACKER_PLUGIN_DIR . 'includes/functions.php';
require_once ONLINE_USERS_TRACKER_PLUGIN_DIR . 'admin/class-online-users-tracker-admin.php';
require_once ONLINE_USERS_TRACKER_PLUGIN_DIR . 'public/class-online-users-tracker-public.php';
// 初始化插件
function run_online_users_tracker() {
$plugin = new Online_Users_Tracker();
$plugin->run();
// 添加 AJAX 处理钩子
add_action('wp_ajax_get_online_users_data', array(new Online_Users_Tracker_Public('online-users-tracker', ONLINE_USERS_TRACKER_VERSION), 'get_online_users_data'));
add_action('wp_ajax_nopriv_get_online_users_data', array(new Online_Users_Tracker_Public('online-users-tracker', ONLINE_USERS_TRACKER_VERSION), 'get_online_users_data'));
}
run_online_users_tracker();
// 加载 CSF 框架
add_action('admin_init', function() {
if (isset($_GET['page']) && $_GET['page'] === 'online_users_tracker') {
if (file_exists(ONLINE_USERS_TRACKER_PLUGIN_DIR . 'csf/csf.php')) {
require_once ONLINE_USERS_TRACKER_PLUGIN_DIR . 'csf/csf.php';
}
}
});
// 注册小工具
function register_online_users_widget() {
register_widget( 'Online_Users_Widget' );
}
add_action( 'widgets_init', 'register_online_users_widget' );
// 处理AJAX请求
add_action('wp_ajax_reset_online_users_stats', 'reset_online_users_stats');
function reset_online_users_stats() {
delete_transient('online_users');
delete_transient('online_guests');
delete_option('daily_max_online_users');
echo "统计数据已重置。";
wp_die();
}
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。