// --------------------------------------------------------------------------- // 6. Lead capture handler (local logging) // --------------------------------------------------------------------------- function omnasset_handle_lead( $request ) { // 1. 获取邮件 $email = $request->get_param( 'email' ); if ( !$email ) { return new WP_REST_Response( array( 'code' => 'missing_email', 'message' => 'Email is required.' ), 400 ); } // 2. 获取 IP $ip = sanitize_text_field( $_SERVER['REMOTE_ADDR'] ?? '0.0.0.0' ); // 3. 构建日志条目 $log_entry = sprintf( "[%s] EMAIL: %s | IP: %s\n", current_time( 'mysql' ), $email, $ip ); // 4. 写入日志 $log_file = '/var/log/omnasset/leads.log'; $log_dir = dirname( $log_file ); if ( ! is_dir( $log_dir ) ) { wp_mkdir_p( $log_dir ); } error_log( $log_entry, 3, $log_file ); // 5. 返回成功响应 return new WP_REST_Response( array( 'code' => 'success', 'message' => 'Lead captured.' ), 200 ); }