Quick Reference
Overview
Logic Hop offers a number of add-on integrations to connect third-party services such as Google Analytics, Drip and WooCommerce to provide personalization through conditions, goals and data display. We are constantly working to add new integrations so if there’s one you’d like to see, please contact us and let us know.
If you’re interested in building your own integration a great starting point is to download one of our existing add-ons and modify the code to work for your needs.
With Logic Hop 3.1.5 we’ve added functionality to make it easier to directly integrate data without an add-on integration through our Custom Object functionality.
Custom Post Types
Logic Hop supports Custom Post Types as of version 3.2.1.
Adding a Custom Post Type makes Custom Post data available for:
- The current session
- Future site visits
Custom Post data is stored in the Page variable and Pages and PagesSession arrays of the Logic Hop data variable.
Learn more about the Logic Hop data variable
Custom Post data can be used in Logic Hop Conditions with any Condition Type that supports page data.
Learn more about Condition Types
Enabling a Custom Post Type
To enable a Custom Post Type for use within Logic Hop you must add the post type using both PHP and Javascript (for the Condition Builder).
Javascript Code
Create a file within your theme folder named logichop-cpt.js with the following code, replacing your-custom-post-type with the post type of your Custom Post Type:
if (typeof logicHopCB !== 'undefined') { logicHopCB.addPostType('your-custom-post-type'); }
Multiple post types can be enabled by adding additional lines of logicHopCB.addPostType(‘custom-post-type’);
PHP Code
Add the following PHP Code to your functions.php file, replacing your-custom-post-type with the post type of your Custom Post Type:
function logic_hop_enable_cpt ( $types ) { $types[] = 'your-custom-post-type'; return $types; } add_filter( 'logichop_update_data_post_types', 'logic_hop_enable_cpt' ); function logic_hop_enqueue_cpt_scripts () { wp_enqueue_script( 'logichop-cpt', get_stylesheet_directory_uri() . '/logichop-cpt.js', array( 'logichop' ) ); } add_action( 'admin_enqueue_scripts', 'logic_hop_enqueue_cpt_scripts' );
Multiple post types can be enabled by adding additional lines of $types[] = ‘custom-post-type’;
Custom Taxonomies
Logic Hop supports Custom Taxonomies as of version 3.2.1.
Adding a Custom Taxonomy makes Taxonomy data available for:
- The current session
- Future site visits
Custom Taxonomies are stored in the Tag or Category variables and Categories and CategoriesSession or Tags and TagsSession arrays of the Logic Hop data variable.
Learn more about the Logic Hop data variable
Custom Taxonomy data can be used in Logic Hop Conditions with any Condition Type that supports tag or category data.
Learn more about Condition Types
Enabling a Custom Taxonomy
To enable a Custom Taxonomy for use within Logic Hop you must add the taxonomy using PHP (for the Condition Builder).
PHP Code
Categories
Add the following PHP Code to your functions.php file to add custom categories:
function logic_hop_enable_custom_categories ( $types ) { $types[] = 'your-custom-category'; return $types; } add_filter( 'logichop_update_data_categories', 'logic_hop_enable_custom_categories' );
Multiple categories can be enabled by adding additional lines of $types[] = ‘your-custom-category’;.
Tags
Add the following PHP Code to your functions.php file to add custom tags:
function logic_hop_enable_custom_tags ( $types ) { $types[] = 'your-custom-tag'; return $types; } add_filter( 'logichop_update_data_tags', 'logic_hop_enable_custom_tags' );
Multiple tags can be enabled by adding additional lines of $types[] = ‘your-custom-tag’;
Logic Hop Custom Object
The Logic Hop Custom Object is an empty container within the Logic Hop dataset to which you can read and write data. This data is available for individual users during their session on your website.
The Custom Object has no persistence beyond the current session, and if needed on repeat visits, you can associate specific users with their unique Logic Hop UID. User sessions end when the user quits their browser or after a period of inactivity – Typically twenty minutes.
Custom Object data is never sent to or stored in the Logic Hop database, so you can use it any way you see fit.
Note: Logic Hop stores temporary data in PHP sessions so it is important to take the amount of data into consideration. Smaller bits of data, such as numeric IDs, which can be looked up against other systems are typically ideal.
Store Custom Object Data with PHP
Storing data in the Custom Object with PHP is done using the logichop_update_data hook to pass your key and data into the $logichop->set_data( key, data ) method.
The following code adds an object to the key ‘my_key’:
function my_custom_stuff () { global $logichop; $my_data = new stdclass(); $my_data->user_gender = 'female'; $my_data->user_age = 42; $logichop->set_data( 'my_key', $my_data ); } add_action( 'logichop_update_data', 'my_custom_stuff', 10, 2 );
Once your data has been stored in the Custom Object it is immediately accessible for use in conditions and display. The data can also be retrieved with Javascript or PHP.
Note: Custom Object keys must be a valid PHP variable name.
Learn how to viewed stored variables for testing.
Retrieve Custom Object Data with PHP
Custom Object data can be retrieved with PHP in the same manner as any Logic Hop data.
Return Data
global $logichop; $logichop->get_data( 'LeadScore', false );
Echo Data
global $logichop; $logichop->get_data( 'LeadScore', true );
Note that custom variables must be prefixed with ‘Custom’ when accessing them through get_data or echo_data:
$logichop->set_data( 'MyVariable', $some_data ); // set custom data $logichop->get_data( 'Custom.MyVariable' ); // access custom data
Learn more about Logic Hop PHP.
Learn more about Logic Hop data variables.
Retrieve Custom Object Data with Javascript
Custom Object data can be retrieved with Javascript in the same manner as any Logic Hop data.
Return Logic Hop data via Javascript:
var my_key = logichop_var('Custom.my_key');
Learn more about Javascript Variables
Display Custom Object Data with Logic Tags
Similar to standard Data Logic Tags, Custom Object Logic Tags can be used to display content within pages and posts.
The following will display the user’s age’:
{{ var: Custom.my_key.user_age }}
Learn more about Data Logic Tags.
Evaluate Custom Object Data with Conditions
Logic Hop provides Custom Object Condition Types within the Logic Hop Condition Builder. These can be used to evaluate Custom Object data and personalize content based on the results.
Condition Types
- Custom Data Object
- Is the Custom Data Object variable set to a specific value.
- Custom Data Object Contains
- Does the Custom Data Object variable contain a specific value.
User Data Action
Logic Hop provides a WordPress Action logichop_user_data_set that is triggered at various times user data is available, specifically:
- When the user first visits your site
- When the user logs in
- When the user logs out
When triggered, the logichop_user_data_set action passes along the current WP_User instance and can be used in the following manner:
function your_function ( $user ) { // Your Code Here } add_action( 'logichop_user_data_set', 'your_function', 10, 1 );
This can be used in conjunction with the Logic Hop Custom Object to make user data from third-party plugins available for use in Logic Hop Conditions or with Logic Tags. The following is an example of adding user data to the Custom Object:
function your_user_data_function ( $user ) { global $logichop; $my_data = new stdclass(); $my_data->user_gender = 'female'; $my_data->user_age = 42; $logichop->set_data( 'my_key', $my_data ); } add_action( 'logichop_user_data_set', 'your_user_data_function', 10, 1 );