\esc_html__( 'Traffic Analytics Settings', '0-day-analytics' ), 'id' => 'traffic-analytics-settings-tab', 'type' => 'tab-title', ) ); Settings::build_option( array( 'type' => 'header', 'id' => 'traffic-module-status-header', 'title' => \esc_html__( 'Module Status', '0-day-analytics' ), ) ); Settings::build_option( array( 'name' => \esc_html__( 'Enable Traffic Analytics', '0-day-analytics' ), 'id' => 'traffic_analytics_module_enabled', 'type' => 'checkbox', 'hint' => \esc_html__( 'Enable or disable the traffic analytics module. When disabled, no data is collected.', '0-day-analytics' ), 'default' => Settings::get_option( 'traffic_analytics_module_enabled' ), ) ); Settings::build_option( array( 'type' => 'header', 'id' => 'traffic-tracking-method-header', 'title' => \esc_html__( 'Tracking Method', '0-day-analytics' ), ) ); Settings::build_option( array( 'name' => \esc_html__( 'Tracking method', '0-day-analytics' ), 'id' => 'traffic_tracking_method', 'type' => 'radio', 'hint' => \esc_html__( 'Choose how pageviews are collected.', '0-day-analytics' ), 'options' => array( 'server' => \esc_html__( 'Server-side (PHP) — Faster, no JS dependency, tracks all requests. May count some bots.', '0-day-analytics' ), 'js' => \esc_html__( 'Client-side (JavaScript) — Only tracks real browsers. Blocked by ad-blockers.', '0-day-analytics' ), ), 'default' => Settings::get_option( 'traffic_tracking_method' ), ) ); Settings::build_option( array( 'id' => 'traffic-tracking-method-hint', 'text' => \esc_html__( 'Server-side tracking hooks into PHP template loading — it is faster and more reliable. Client-side uses JavaScript sendBeacon() which only fires in real browsers but can be blocked by privacy extensions.', '0-day-analytics' ), 'type' => 'message', ) ); if ( 'js' === Settings::get_option( 'traffic_tracking_method' ) && Settings::get_option( 'traffic_analytics_module_enabled' ) ) { Traffic_Endpoint_Admin::render_panel(); } Settings::build_option( array( 'type' => 'header', 'id' => 'traffic-exclusions-header', 'title' => \esc_html__( 'Exclusions', '0-day-analytics' ), ) ); Settings::build_option( array( 'name' => \esc_html__( 'Exclude administrators', '0-day-analytics' ), 'id' => 'traffic_exclude_admins', 'type' => 'checkbox', 'hint' => \esc_html__( 'Exclude logged-in administrators from traffic tracking.', '0-day-analytics' ), 'default' => Settings::get_option( 'traffic_exclude_admins' ), ) ); Settings::build_option( array( 'type' => 'header', 'id' => 'traffic-retention-header', 'title' => \esc_html__( 'Data Retention', '0-day-analytics' ), ) ); Settings::build_option( array( 'name' => \esc_html__( 'Keep data for (days)', '0-day-analytics' ), 'id' => 'traffic_retention_days', 'type' => 'number', 'hint' => \esc_html__( 'Traffic data older than this number of days will be automatically deleted. Minimum 30 days.', '0-day-analytics' ), 'min' => 30, 'max' => 3650, 'default' => Settings::get_option( 'traffic_retention_days' ), ) );