Created
April 27, 2016 17:19
-
-
Save ashleyfae/825046cfa9db56751248f60224a03170 to your computer and use it in GitHub Desktop.
Integrates Olark with WordPress and Easy Digital Downloads by displaying user information.
This file contains hidden or 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 | |
/* | |
* Plugin Name: Olark In WP | |
* Plugin URI: https://www.nosegraze.com | |
* Description: Integrates Olark with WordPress and Easy Digital Downloads by displaying user information. | |
* Version: 1.0 | |
* Author: Nose Graze | |
* Author URI: https://www.nosegraze.com | |
* License: GPL2 | |
* | |
* This is a sample plugin for WordPress. You'll need to modify this code a little, put it inside a folder, | |
* zip that up, and then install that zip file like a plugin (Plugins > Add New > Upload). | |
* | |
* @package olark-in-wp | |
* @copyright Copyright (c) 2016, Nose Graze Ltd. | |
* @license GPL2+ | |
*/ | |
/** | |
* Olark Code | |
* | |
* Adds Olark code to the footer of your WordPress site, including some custom | |
* API calls to add additional user and customer information. Make sure you paste | |
* in your normal Olark chat code where designated. | |
* | |
* @return void | |
*/ | |
function olark_in_wp() { | |
?> | |
<script data-cfasync="false" type='text/javascript'>/*<![CDATA[*/ | |
<!-- paste your normal Olark script code here (but without the <script> tags since those are already included now --> | |
<?php | |
/* | |
* Updates their status to tell us which EDD product they're viewing. | |
*/ | |
if ( is_single( 'download' ) ) { | |
?> | |
olark('api.chat.updateVisitorStatus', { | |
snippet: "Viewing Product: <?php echo get_the_title(); ?>" | |
}); | |
<?php | |
} | |
/* | |
* Add extra information if the current user is logged in. | |
*/ | |
if ( is_user_logged_in() ) { | |
$current_user = wp_get_current_user(); | |
?> | |
// Update the visitor's full name with their WordPress display name. | |
olark('api.visitor.updateFullName', { | |
fullName: "<?php echo htmlspecialchars( | |
$current_user->display_name, ENT_QUOTES ); ?>" | |
}); | |
// Update the visitor's email address with their WordPress account email. | |
olark('api.visitor.updateEmailAddress', { | |
emailAddress: "<?php echo htmlspecialchars( | |
$current_user->user_email, ENT_QUOTES ); ?>" | |
}); | |
<?php | |
/* | |
* Add a link to the customer's Easy Digital Downloads customer page. | |
*/ | |
if ( class_exists( 'EDD_Customer' ) ) { | |
$oCustomer = new EDD_Customer( $current_user->user_email ); | |
$nID = $oCustomer->id; | |
if ( $nID != 0 ) { | |
$sCustomerURL = admin_url( 'edit.php?post_type=download&page=edd-customers&view=overview&id=' . urlencode( $nID ) ); | |
?> | |
// Sends the operator a link to the customer's profile page. | |
olark('api.chat.onBeginConversation', function () { | |
// Notifies the operator - the visitor does not see this | |
olark('api.chat.sendNotificationToOperator', { | |
body: "Customer Page: <?php echo esc_url( $sCustomerURL ); ?>" | |
}); | |
}); | |
<?php | |
} | |
} | |
} | |
?> | |
/*]]>*/</script> | |
<?php | |
} | |
add_action( 'wp_footer', 'olark_in_wp' ); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment