How to install Segment on WordPress without a plugin

I want to add Segment to my WordPress site. I read the best way to do this is to edit functions.php and use wp_enqueue_scripts

I've replaced my tracking code with "test"

This is the segment code:

script
!function(){var analytics=window.analytics=window.analytics||[];if(!analytics.initialize)if(analytics.invoked)window.consoleconsole.errorconsole.error("Segment snippet included twice.");else{analytics.invoked=!0;analytics.methods=["trackSubmit","trackClick","trackLink","trackForm","pageview","identify","reset","group","track","ready","alias","debug","page","once","off","on"];analytics.factory=function(t){return function(){var e=Array.prototype.slice.call(arguments);e.unshift(t);analytics.push(e);return analytics}};for(var t=0;tanalytics.methods.length;t++){var e=analytics.methods[t];analytics[e]=analytics.factory(e)}analytics.load=function(t){var e=document.createElement("script");e.type="text/javascript";e.async=!0;e.src=("https:"===document.location.protocol?"https://":"http://")+"cdn.segment.com/analytics.js/v1/"+t+"/analytics.min.js";var n=document.getElementsByTagName("script")[0];n.parentNode.insertBefore(e,n)};analytics.SNIPPET_VERSION="4.0.0";
analytics.load("TEST");
analytics.page();
}}();
/script

Topic functions wp-admin Wordpress

Category Web


add that code to a js in your theme folder (or child theme if you're using it). for this example I named the script "analytics.js" and put it in a directory called "js" in my child theme folder.

Now register and enqueue the file by placing this code in your functions.php

function wpse_load_script()
{
    // Register the script like this:
    wp_register_script( 'analytics-script', get_stylesheet_directory_uri() . '/js/analytics.js', array( 'jquery' ) );

    // You can then enqueue the script:
    wp_enqueue_script( 'analytics-script' );

}
add_action( 'wp_enqueue_scripts', 'wpse_load_script' );

About

Geeks Mental is a community that publishes articles and tutorials about Web, Android, Data Science, new techniques and Linux security.