@@ -36,10 +36,10 @@ |
||
36 | 36 | require_once plugin_dir_path( MONSTERINSIGHTS_PLUGIN_FILE ) . 'includes/frontend/events/class-gtag-events.php'; |
37 | 37 | new MonsterInsights_Gtag_Events(); |
38 | 38 | |
39 | - // Let's run form tracking if we find it |
|
40 | - if ( function_exists( 'monsterinsights_forms_output_after_script' ) ) { |
|
41 | - monsterinsights_forms_output_after_script( array() ); |
|
42 | - } |
|
39 | + // Let's run form tracking if we find it |
|
40 | + if ( function_exists( 'monsterinsights_forms_output_after_script' ) ) { |
|
41 | + monsterinsights_forms_output_after_script( array() ); |
|
42 | + } |
|
43 | 43 | } |
44 | 44 | } |
45 | 45 | add_action( 'seedprod_monsterinsights_output_tracking', 'monsterinsights_seedprod_tracking', 6, 1 ); |
@@ -52,7 +52,7 @@ discard block |
||
52 | 52 | */ |
53 | 53 | public function frontend_tracking_options_persistent() |
54 | 54 | { |
55 | - return apply_filters('monsterinsights_frontend_tracking_options_persistent_gtag_before_pageview', []); |
|
55 | + return apply_filters('monsterinsights_frontend_tracking_options_persistent_gtag_before_pageview', []); |
|
56 | 56 | } |
57 | 57 | |
58 | 58 | /** |
@@ -71,107 +71,107 @@ discard block |
||
71 | 71 | */ |
72 | 72 | public function frontend_tracking_options($type = 'ua', $encoded = false) |
73 | 73 | { |
74 | - global $wp_query; |
|
75 | - $options = []; |
|
74 | + global $wp_query; |
|
75 | + $options = []; |
|
76 | 76 | |
77 | - $tracking_ids = monsterinsights_get_tracking_ids(); |
|
78 | - if (empty($tracking_ids)) { |
|
79 | - return $encoded ? wp_json_encode($options) : $options; |
|
80 | - } |
|
77 | + $tracking_ids = monsterinsights_get_tracking_ids(); |
|
78 | + if (empty($tracking_ids)) { |
|
79 | + return $encoded ? wp_json_encode($options) : $options; |
|
80 | + } |
|
81 | 81 | |
82 | - $placeholder = ''; |
|
82 | + $placeholder = ''; |
|
83 | 83 | |
84 | - if ($encoded) { |
|
85 | - $placeholder = '!@#'; |
|
86 | - } |
|
84 | + if ($encoded) { |
|
85 | + $placeholder = '!@#'; |
|
86 | + } |
|
87 | 87 | |
88 | - // $track_user = monsterinsights_track_user(); |
|
88 | + // $track_user = monsterinsights_track_user(); |
|
89 | 89 | // |
90 | - // if ( ! $track_user ) { |
|
91 | - // $options['create'] = "'create', '" . esc_js( $ua_code ) . "', '" . esc_js( 'auto' ) . "'"; |
|
92 | - // $options['forceSSL'] = "'set', 'forceSSL', true"; |
|
93 | - // $options['send'] = "'send','pageview'"; |
|
90 | + // if ( ! $track_user ) { |
|
91 | + // $options['create'] = "'create', '" . esc_js( $ua_code ) . "', '" . esc_js( 'auto' ) . "'"; |
|
92 | + // $options['forceSSL'] = "'set', 'forceSSL', true"; |
|
93 | + // $options['send'] = "'send','pageview'"; |
|
94 | 94 | // |
95 | - // return $options; |
|
96 | - // } |
|
97 | - |
|
98 | - $cross_domains = monsterinsights_get_option('cross_domains', []); |
|
99 | - $allow_anchor = monsterinsights_get_option('allow_anchor', false); |
|
100 | - |
|
101 | - if ($allow_anchor) { |
|
102 | - $options['allow_anchor'] = 'true'; |
|
103 | - } |
|
104 | - |
|
105 | - if (class_exists('MonsterInsights_AMP')) { |
|
106 | - $options['use_amp_client_id'] = 'true'; |
|
107 | - } |
|
108 | - |
|
109 | - $options['forceSSL'] = 'true'; |
|
110 | - |
|
111 | - // Anonymous data. |
|
112 | - if (monsterinsights_get_option('anonymize_ips', false)) { |
|
113 | - $options['anonymize_ip'] = 'true'; |
|
114 | - } |
|
115 | - |
|
116 | - $options = apply_filters('monsterinsights_frontend_tracking_options_gtag_before_scripts', $options); |
|
117 | - |
|
118 | - // Add Enhanced link attribution. |
|
119 | - if (monsterinsights_get_option('link_attribution', false)) { |
|
120 | - $options['link_attribution'] = 'true'; |
|
121 | - } |
|
122 | - |
|
123 | - // Add cross-domain tracking. |
|
124 | - if (is_array($cross_domains) && !empty($cross_domains)) { |
|
125 | - $linker_domains = []; |
|
126 | - foreach ($cross_domains as $cross_domain) { |
|
127 | - if (!empty($cross_domain['domain'])) { |
|
128 | - $linker_domains[] = $cross_domain['domain']; |
|
129 | - } |
|
130 | - } |
|
131 | - $options['linker'] = [ |
|
132 | - 'domains' => $linker_domains, |
|
133 | - ]; |
|
134 | - } |
|
135 | - |
|
136 | - if (monsterinsights_is_debug_mode()) { |
|
137 | - $options['debug_mode'] = true; |
|
138 | - } |
|
139 | - |
|
140 | - $options = apply_filters('monsterinsights_frontend_tracking_options_gtag_before_pageview', $options, $type); |
|
141 | - $options = apply_filters('monsterinsights_frontend_tracking_options_before_pageview', $options, $this->name, $this->version, $type); |
|
142 | - |
|
143 | - if (is_404()) { |
|
144 | - if (monsterinsights_get_option('hash_tracking', false)) { |
|
145 | - $options['page_path'] = "{$placeholder}'/404.html?page=' + document.location.pathname + document.location.search + location.hash + '&from=' + document.referrer{$placeholder}"; |
|
146 | - } else { |
|
147 | - $options['page_path'] = "{$placeholder}'/404.html?page=' + document.location.pathname + document.location.search + '&from=' + document.referrer{$placeholder}"; |
|
148 | - } |
|
149 | - } elseif ($wp_query->is_search) { |
|
150 | - $pushstr = "'/?s="; |
|
151 | - if (0 === (int) $wp_query->found_posts) { |
|
152 | - $options['page_path'] = $pushstr.'no-results:'.rawurlencode($wp_query->query_vars['s'])."&cat=no-results'"; |
|
153 | - } elseif (1 === (int) $wp_query->found_posts) { |
|
154 | - $options['page_path'] = $pushstr.rawurlencode($wp_query->query_vars['s'])."&cat=1-result'"; |
|
155 | - } elseif ($wp_query->found_posts > 1 && $wp_query->found_posts < 6) { |
|
156 | - $options['page_path'] = $pushstr.rawurlencode($wp_query->query_vars['s'])."&cat=2-5-results'"; |
|
157 | - } else { |
|
158 | - $options['page_path'] = $pushstr.rawurlencode($wp_query->query_vars['s'])."&cat=plus-5-results'"; |
|
159 | - } |
|
160 | - } elseif (monsterinsights_get_option('hash_tracking', false)) { |
|
161 | - $options['page_path'] = "{$placeholder}location.pathname + location.search + location.hash{$placeholder}"; |
|
162 | - } |
|
163 | - |
|
164 | - $options = apply_filters('monsterinsights_frontend_tracking_options_gtag_end', $options, $type); |
|
165 | - |
|
166 | - if ($encoded) { |
|
167 | - return str_replace( |
|
168 | - ['"'.$placeholder, $placeholder.'"'], |
|
169 | - '', |
|
170 | - wp_json_encode($options) |
|
171 | - ); |
|
172 | - } |
|
173 | - |
|
174 | - return $options; |
|
95 | + // return $options; |
|
96 | + // } |
|
97 | + |
|
98 | + $cross_domains = monsterinsights_get_option('cross_domains', []); |
|
99 | + $allow_anchor = monsterinsights_get_option('allow_anchor', false); |
|
100 | + |
|
101 | + if ($allow_anchor) { |
|
102 | + $options['allow_anchor'] = 'true'; |
|
103 | + } |
|
104 | + |
|
105 | + if (class_exists('MonsterInsights_AMP')) { |
|
106 | + $options['use_amp_client_id'] = 'true'; |
|
107 | + } |
|
108 | + |
|
109 | + $options['forceSSL'] = 'true'; |
|
110 | + |
|
111 | + // Anonymous data. |
|
112 | + if (monsterinsights_get_option('anonymize_ips', false)) { |
|
113 | + $options['anonymize_ip'] = 'true'; |
|
114 | + } |
|
115 | + |
|
116 | + $options = apply_filters('monsterinsights_frontend_tracking_options_gtag_before_scripts', $options); |
|
117 | + |
|
118 | + // Add Enhanced link attribution. |
|
119 | + if (monsterinsights_get_option('link_attribution', false)) { |
|
120 | + $options['link_attribution'] = 'true'; |
|
121 | + } |
|
122 | + |
|
123 | + // Add cross-domain tracking. |
|
124 | + if (is_array($cross_domains) && !empty($cross_domains)) { |
|
125 | + $linker_domains = []; |
|
126 | + foreach ($cross_domains as $cross_domain) { |
|
127 | + if (!empty($cross_domain['domain'])) { |
|
128 | + $linker_domains[] = $cross_domain['domain']; |
|
129 | + } |
|
130 | + } |
|
131 | + $options['linker'] = [ |
|
132 | + 'domains' => $linker_domains, |
|
133 | + ]; |
|
134 | + } |
|
135 | + |
|
136 | + if (monsterinsights_is_debug_mode()) { |
|
137 | + $options['debug_mode'] = true; |
|
138 | + } |
|
139 | + |
|
140 | + $options = apply_filters('monsterinsights_frontend_tracking_options_gtag_before_pageview', $options, $type); |
|
141 | + $options = apply_filters('monsterinsights_frontend_tracking_options_before_pageview', $options, $this->name, $this->version, $type); |
|
142 | + |
|
143 | + if (is_404()) { |
|
144 | + if (monsterinsights_get_option('hash_tracking', false)) { |
|
145 | + $options['page_path'] = "{$placeholder}'/404.html?page=' + document.location.pathname + document.location.search + location.hash + '&from=' + document.referrer{$placeholder}"; |
|
146 | + } else { |
|
147 | + $options['page_path'] = "{$placeholder}'/404.html?page=' + document.location.pathname + document.location.search + '&from=' + document.referrer{$placeholder}"; |
|
148 | + } |
|
149 | + } elseif ($wp_query->is_search) { |
|
150 | + $pushstr = "'/?s="; |
|
151 | + if (0 === (int) $wp_query->found_posts) { |
|
152 | + $options['page_path'] = $pushstr.'no-results:'.rawurlencode($wp_query->query_vars['s'])."&cat=no-results'"; |
|
153 | + } elseif (1 === (int) $wp_query->found_posts) { |
|
154 | + $options['page_path'] = $pushstr.rawurlencode($wp_query->query_vars['s'])."&cat=1-result'"; |
|
155 | + } elseif ($wp_query->found_posts > 1 && $wp_query->found_posts < 6) { |
|
156 | + $options['page_path'] = $pushstr.rawurlencode($wp_query->query_vars['s'])."&cat=2-5-results'"; |
|
157 | + } else { |
|
158 | + $options['page_path'] = $pushstr.rawurlencode($wp_query->query_vars['s'])."&cat=plus-5-results'"; |
|
159 | + } |
|
160 | + } elseif (monsterinsights_get_option('hash_tracking', false)) { |
|
161 | + $options['page_path'] = "{$placeholder}location.pathname + location.search + location.hash{$placeholder}"; |
|
162 | + } |
|
163 | + |
|
164 | + $options = apply_filters('monsterinsights_frontend_tracking_options_gtag_end', $options, $type); |
|
165 | + |
|
166 | + if ($encoded) { |
|
167 | + return str_replace( |
|
168 | + ['"'.$placeholder, $placeholder.'"'], |
|
169 | + '', |
|
170 | + wp_json_encode($options) |
|
171 | + ); |
|
172 | + } |
|
173 | + |
|
174 | + return $options; |
|
175 | 175 | } |
176 | 176 | |
177 | 177 | /** |
@@ -187,36 +187,36 @@ discard block |
||
187 | 187 | */ |
188 | 188 | public function frontend_output() |
189 | 189 | { |
190 | - $options = $this->frontend_tracking_options('ua', true); |
|
191 | - $options_v4 = $this->frontend_tracking_options('v4', true); |
|
192 | - $persistent = $this->frontend_tracking_options_persistent(); |
|
193 | - $connected_type = MonsterInsights()->auth->get_connected_type(); |
|
194 | - $v4_id = monsterinsights_get_v4_id_to_output(); |
|
195 | - $ua = monsterinsights_get_ua_to_output(); |
|
196 | - $main_id = 'ua' === $connected_type ? $ua : $v4_id; |
|
197 | - $src = apply_filters('monsterinsights_frontend_output_gtag_src', '//www.googletagmanager.com/gtag/js?id='.$main_id); |
|
198 | - $compat_mode = apply_filters('monsterinsights_get_option_gtagtracker_compatibility_mode', true); |
|
199 | - $compat = $compat_mode ? 'window.gtag = __gtagTracker;' : ''; |
|
200 | - $track_user = monsterinsights_track_user(); |
|
201 | - $output = ''; |
|
202 | - $reason = ''; |
|
203 | - $attr_string = monsterinsights_get_frontend_analytics_script_atts(); |
|
204 | - $gtag_async = apply_filters('monsterinsights_frontend_gtag_script_async', true) ? 'async' : ''; |
|
205 | - ob_start(); ?> |
|
190 | + $options = $this->frontend_tracking_options('ua', true); |
|
191 | + $options_v4 = $this->frontend_tracking_options('v4', true); |
|
192 | + $persistent = $this->frontend_tracking_options_persistent(); |
|
193 | + $connected_type = MonsterInsights()->auth->get_connected_type(); |
|
194 | + $v4_id = monsterinsights_get_v4_id_to_output(); |
|
195 | + $ua = monsterinsights_get_ua_to_output(); |
|
196 | + $main_id = 'ua' === $connected_type ? $ua : $v4_id; |
|
197 | + $src = apply_filters('monsterinsights_frontend_output_gtag_src', '//www.googletagmanager.com/gtag/js?id='.$main_id); |
|
198 | + $compat_mode = apply_filters('monsterinsights_get_option_gtagtracker_compatibility_mode', true); |
|
199 | + $compat = $compat_mode ? 'window.gtag = __gtagTracker;' : ''; |
|
200 | + $track_user = monsterinsights_track_user(); |
|
201 | + $output = ''; |
|
202 | + $reason = ''; |
|
203 | + $attr_string = monsterinsights_get_frontend_analytics_script_atts(); |
|
204 | + $gtag_async = apply_filters('monsterinsights_frontend_gtag_script_async', true) ? 'async' : ''; |
|
205 | + ob_start(); ?> |
|
206 | 206 | <!-- This site uses the Google Analytics by MonsterInsights plugin v<?php echo MONSTERINSIGHTS_VERSION; ?> - Using Analytics tracking - https://www.monsterinsights.com/ --> |
207 | 207 | <?php if (!$track_user) { |
208 | - if (empty($v4_id) && empty($ua)) { |
|
209 | - $reason = __('Note: MonsterInsights is not currently configured on this site. The site owner needs to authenticate with Google Analytics in the MonsterInsights settings panel.', 'google-analytics-for-wordpress'); |
|
210 | - $output .= '<!-- '.esc_html($reason).' -->'.PHP_EOL; |
|
211 | - } elseif (current_user_can('monsterinsights_save_settings')) { |
|
212 | - $reason = __('Note: MonsterInsights does not track you as a logged-in site administrator to prevent site owners from accidentally skewing their own Google Analytics data.'.PHP_EOL.'If you are testing Google Analytics code, please do so either logged out or in the private browsing/incognito mode of your web browser.', 'google-analytics-for-wordpress'); |
|
213 | - $output .= '<!-- '.esc_html($reason).' -->'.PHP_EOL; |
|
214 | - } else { |
|
215 | - $reason = __('Note: The site owner has disabled Google Analytics tracking for your user role.', 'google-analytics-for-wordpress'); |
|
216 | - $output .= '<!-- '.esc_html($reason).' -->'.PHP_EOL; |
|
217 | - } |
|
218 | - echo $output; |
|
219 | - } ?> |
|
208 | + if (empty($v4_id) && empty($ua)) { |
|
209 | + $reason = __('Note: MonsterInsights is not currently configured on this site. The site owner needs to authenticate with Google Analytics in the MonsterInsights settings panel.', 'google-analytics-for-wordpress'); |
|
210 | + $output .= '<!-- '.esc_html($reason).' -->'.PHP_EOL; |
|
211 | + } elseif (current_user_can('monsterinsights_save_settings')) { |
|
212 | + $reason = __('Note: MonsterInsights does not track you as a logged-in site administrator to prevent site owners from accidentally skewing their own Google Analytics data.'.PHP_EOL.'If you are testing Google Analytics code, please do so either logged out or in the private browsing/incognito mode of your web browser.', 'google-analytics-for-wordpress'); |
|
213 | + $output .= '<!-- '.esc_html($reason).' -->'.PHP_EOL; |
|
214 | + } else { |
|
215 | + $reason = __('Note: The site owner has disabled Google Analytics tracking for your user role.', 'google-analytics-for-wordpress'); |
|
216 | + $output .= '<!-- '.esc_html($reason).' -->'.PHP_EOL; |
|
217 | + } |
|
218 | + echo $output; |
|
219 | + } ?> |
|
220 | 220 | <?php if (!empty($v4_id) || !empty($ua)) { ?> |
221 | 221 | <script src="<?php echo esc_attr($src); ?>" <?php echo $attr_string; ?> <?php echo esc_attr($gtag_async); ?>></script> |
222 | 222 | <script<?php echo $attr_string; ?>> |
@@ -315,12 +315,12 @@ discard block |
||
315 | 315 | __gtagTracker( 'set', { |
316 | 316 | 'developer_id.dZGIzZG' : true, |
317 | 317 | <?php |
318 | - if (!empty($persistent)) { |
|
319 | - foreach ($persistent as $key => $value) { |
|
320 | - echo "'".esc_js($key)."' : '".esc_js($value)."',"; |
|
321 | - } |
|
322 | - } |
|
323 | - ?> |
|
318 | + if (!empty($persistent)) { |
|
319 | + foreach ($persistent as $key => $value) { |
|
320 | + echo "'".esc_js($key)."' : '".esc_js($value)."',"; |
|
321 | + } |
|
322 | + } |
|
323 | + ?> |
|
324 | 324 | } ); |
325 | 325 | <?php if (!empty($v4_id)) { ?> |
326 | 326 | __gtagTracker( 'config', '<?php echo esc_js($v4_id); ?>', <?php echo $options_v4; ?> ); |
@@ -328,15 +328,15 @@ discard block |
||
328 | 328 | <?php if (!empty($ua)) { ?> |
329 | 329 | __gtagTracker( 'config', '<?php echo esc_js($ua); ?>', <?php echo $options; ?> ); |
330 | 330 | <?php |
331 | - } |
|
332 | - /* |
|
331 | + } |
|
332 | + /* |
|
333 | 333 | * Extend or enhance the functionality by adding custom code to frontend |
334 | 334 | * tracking via this hook. |
335 | 335 | * |
336 | 336 | * @since 7.15.0 |
337 | 337 | */ |
338 | - do_action('monsterinsights_frontend_tracking_gtag_after_pageview'); |
|
339 | - ?> |
|
338 | + do_action('monsterinsights_frontend_tracking_gtag_after_pageview'); |
|
339 | + ?> |
|
340 | 340 | <?php echo esc_js($compat); ?> |
341 | 341 | <?php if (apply_filters('monsterinsights_tracking_gtag_frontend_gatracker_compatibility', true)) { ?> |
342 | 342 | (function () { |
@@ -467,14 +467,14 @@ discard block |
||
467 | 467 | <?php } ?> |
468 | 468 | <!-- / Google Analytics by MonsterInsights --> |
469 | 469 | <?php |
470 | - $output = ob_get_contents(); |
|
471 | - ob_end_clean(); |
|
470 | + $output = ob_get_contents(); |
|
471 | + ob_end_clean(); |
|
472 | 472 | |
473 | - return $output; |
|
473 | + return $output; |
|
474 | 474 | } |
475 | 475 | |
476 | 476 | public function should_do_optout() |
477 | 477 | { |
478 | - return !(defined('MI_NO_TRACKING_OPTOUT') && MI_NO_TRACKING_OPTOUT); |
|
478 | + return !(defined('MI_NO_TRACKING_OPTOUT') && MI_NO_TRACKING_OPTOUT); |
|
479 | 479 | } |
480 | 480 | } |