AB
Size: a a a
AB
IV
N
function enqueue_theme_assets()
{
wp_enqueue_script( 'trackers', THEME_ASSETS_URL . '/js/trackers.js', null, null, true );
}
add_action( 'wp_enqueue_scripts', 'enqueue_theme_assets' );
nction add_defer_attribute( $tag, $handle ). Додаємо preconnect для зовнініх доменів, до який будуть конектитись трекери
{
if ( is_admin() ) {
return $tag;
}
// Script handles to defer
$defer_handles = [
'trackers',
];
if ( in_array( $handle, $defer_handles, true ) ) {
return str_replace( ' src', ' defer="defer" src', $tag );
}
return $tag;
}
add_filter( 'script_loader_tag', 'add_async_attribute', 10, 2 );
3
tion dns_prefetch_tags( $hints, $relation_type )А ось і сам скрипт з трекерами (trackers.js):
{
if ($relation_type === 'preconnect') {
$hints[] = '//www.googletagmanager.com';
$hints[] = '//www.google-analytics.com';
$hints[] = '//www.gstatic.com';
$hints[] = '//connect.facebook.net';
$hints[] = '//www.facebook.com';
}
return $hints;
}
add_filter( 'wp_resource_hints', 'dns_prefetch_tags', 10, 2 );
4.
red = false;рикладу вставлений там GTM
window.addEventListener('scroll', () => {
if (fired === false) {
fired = true;
setTimeout(() => {
// Google Tag Manager
(function (w, d, s, l, i) {
w[l] = w[l] || [];
w[l].push({
'gtm.start':
new Date().getTime(), event: 'gtm.js'
});
var f = d.getElementsByTagName(s)[0],
j = d.createElement(s), dl = l != 'dataLayer' ? '&l=' + l : '';
j.async = true;
j.src =
'https://www.googletagmanager.com/gtm.js?id=' + i + dl;
f.parentNode.insertBefore(j, f);
})(window, document, 'script', 'dataLayer', 'YOUR_PROPERY_ID');
}, 1000)
} // endif
});
Для п
VK
N
IV
IV
AB
IV
VK
IV
RM
IV
A
AB
A
IV
RM
IV
RM