frontend_output(); } else { require_once plugin_dir_path( MONSTERINSIGHTS_PLUGIN_FILE ) . 'includes/frontend/tracking/class-tracking-analytics.php'; $tracking = new MonsterInsights_Tracking_Analytics(); echo $tracking->frontend_output(); } do_action( 'monsterinsights_tracking_after_' . $mode ); do_action( 'monsterinsights_tracking_after', $mode ); } add_action( 'wp_head', 'monsterinsights_tracking_script', 6 ); //add_action( 'login_head', 'monsterinsights_tracking_script', 6 ); /** * Get frontend tracking options. * * This function is used to return an array of parameters * for the frontend_output() function to output. These are * generally dimensions and turned on GA features. * * @since 6.0.0 * @access public * * @return array Array of the options to use. */ function monsterinsights_events_tracking( ) { $events_mode = monsterinsights_get_option( 'events_mode', false ); $track_user = monsterinsights_track_user(); if ( $track_user && ( $events_mode === 'js' || $events_mode === 'php' ) ) { require_once plugin_dir_path( MONSTERINSIGHTS_PLUGIN_FILE ) . 'includes/frontend/events/class-analytics-events.php'; new MonsterInsights_Analytics_Events(); } else { // User is in the disabled group or events mode is off } } add_action( 'template_redirect', 'monsterinsights_events_tracking', 9 ); /** * Add the UTM source parameters in the RSS feeds to track traffic. * * @since 6.0.0 * @access public * * @param string $guid The link for the RSS feed. * * @return string The new link for the RSS feed. */ function monsterinsights_rss_link_tagger( $guid ) { global $post; if ( monsterinsights_get_option( 'tag_links_in_rss', false ) ){ if ( is_feed() ) { if ( monsterinsights_get_option( 'allow_anchor', false ) ) { $delimiter = '#'; } else { $delimiter = '?'; if ( strpos( $guid, $delimiter ) > 0 ) { $delimiter = '&'; } } return $guid . $delimiter . 'utm_source=rss&utm_medium=rss&utm_campaign=' . urlencode( $post->post_name ); } } return $guid; } add_filter( 'the_permalink_rss', 'monsterinsights_rss_link_tagger', 99 );