add_action('init', function () { if (is_admin()) { return; // Không log khi truy cập admin để tránh nhiễu } $client_ip = $_SERVER['REMOTE_ADDR'] ?? 'UNKNOWN'; $request_uri = $_SERVER['REQUEST_URI'] ?? ''; $datetime = date('Y-m-d H:i:s'); $host = $_SERVER['HTTP_HOST'] ?? 'unknown-host'; // Lấy prefix của site hiện tại trong multisite global $wpdb; $site_prefix = $wpdb->prefix; // ví dụ: wp_, wp_2_, wp_3_ // Chuyển prefix thành tên thư mục an toàn $safe_prefix = preg_replace('/[^a-zA-Z0-9_]/', '_', $site_prefix); // Đường dẫn log $log_dir = WP_CONTENT_DIR . "/ip-logs/{$safe_prefix}"; if (!file_exists($log_dir)) { wp_mkdir_p($log_dir); // tạo thư mục nếu chưa có } $log_file = "{$log_dir}/access.log"; $log_line = "[$datetime] IP: $client_ip - Host: $host - URI: $request_uri\n"; file_put_contents($log_file, $log_line, FILE_APPEND | LOCK_EX); });