Skip to content

Instantly share code, notes, and snippets.

@fienen
Created August 15, 2022 05:33
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save fienen/b8e12a21b0b302993887a8fb244c11fb to your computer and use it in GitHub Desktop.
Save fienen/b8e12a21b0b302993887a8fb244c11fb to your computer and use it in GitHub Desktop.
Google Tag Manager Theme Functions for WordPress
<?php
/**
* drunkenux-theme functions and definitions
*
* Utility functions for the site
*
* @package Drunken UX
* @subpackage drunkenux-theme
* @since Drunken UX Theme 2.0
*
* TABLE OF CONTENTS
* 1. VARIABLES
* 2. GTM Functions
* 3. ACTION HOOKS
*/
// ***** VARIABLES *****
define('GTM_ID', 'GTM-########');
// ***** GTM FUNCTIONS *****
// Output iframe noscript GTM include
function action_add_gtm_body() {
echo '<!-- Google Tag Manager (noscript) -->
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=' . GTM_ID . '"
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<!-- End Google Tag Manager (noscript) -->';
}
// Output script GTM include
function action_add_gtm_head() {
echo "<!-- Google Tag Manager -->
<script>
window.dataLayer = window.dataLayer || [];
(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','" . GTM_ID . "');
</script>
<!-- End Google Tag Manager -->";
}
// ***** ACTION HOOKS *****
add_action( 'wp_body_open', '\action_add_gtm_body' );
add_action( 'wp_head', '\action_add_gtm_head' );
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment