Last active
September 19, 2019 22:05
-
-
Save JackGJenkins/039bdfce9c82cdc2eeb09df42d5079f3 to your computer and use it in GitHub Desktop.
This is some sample code that allows you to install Intercom via your child theme's functions.php file without the plugin.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
global $wp; | |
function is_page_to_exclude(){ | |
/* Replace these examples with any pages where you'd like the messenger to be hidden */ | |
$urls_to_exclude = array( | |
"http://example.com/page-one", | |
"http://example.com/page-two", | |
"http://example.com/page-three" | |
); | |
$url_to_check = home_url(add_query_arg(array(),$wp->request)); | |
if (in_array($url_to_check, $urls_to_exclude)) { | |
echo "TRUE"; | |
} | |
}; | |
function intercom_script_footer(){ | |
if ( is_user_logged_in() ) { | |
$current_user = wp_get_current_user(); ?> | |
<script> | |
/* Replace 'APP_ID' with your app ID */ | |
window.intercomSettings = { | |
app_id: 'APP_ID', | |
email: '<?php echo $current_user->user_email; ?>', | |
user_id: '<?php echo $current_user->ID; ?>', | |
name: '<?php echo $current_user->display_name; ?>', | |
created_at: <?php echo strtotime(get_userdata($current_user->ID)->user_registered); ?>, | |
hide_default_launcher: <?php is_page_to_exclude(); ?> | |
}; | |
<?php } else { ?> | |
<script> | |
/* Replace 'APP_ID' with your app ID */ | |
window.intercomSettings = { | |
app_id: 'APP_ID', | |
hide_default_launcher: <?php is_page_to_exclude(); ?> | |
}; | |
<?php } ?> | |
/*Replace 'APP_ID' with your app ID */ | |
(function(){var w=window;var ic=w.Intercom;if(typeof ic==="function") {ic('reattach_activator');ic('update',intercomSettings);}else{var d=document;var i=function(){i.c(arguments)};i.q=[];i.c=function(args) {i.q.push(args)};w.Intercom=i;function l(){var s=d.createElement('script');s.type='text/javascript';s.async=true;s.src='https://widget.intercom.io/widget/APP_ID';var x=d.getElementsByTagName('script') [0];x.parentNode.insertBefore(s,x);}if(w.attachEvent) {w.attachEvent('onload',l);}else{w.addEventListener('load',l,false);}}})() | |
</script> | |
<?php } | |
// To add intercom to the front end of your wordpress site: | |
add_action('wp_footer', 'intercom_script_footer'); | |
//To add intercom to the admin area of your wordpress site: | |
add_action( 'admin_enqueue_scripts', 'intercom_script_footer' ); | |
?> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Anyone been able to get user_hash to work? This code is great and works but can't get identity verification to work properly.