Creating and Using Formatters on WooCommerce
Write custom functions for use in your Designs
Platforms:
Clerk.js allows you to write custom javascript functions, that adds new functionality to the Designs.
Formatters can be added in two ways:
- Through my.clerk.io > Settings > Formatters, where each Formatter can be created as separate entries.
- As a configuration for Clerk.js, in the tracking-script that is inserted on all pages, where multiple formatters can be added at once.
For WooCommerce this file contains the tracking-script:
wp-content->plugins->clerkio->includes->class-clerk-visitor-tracking.php
An example can be seen below. Please be aware this is Clerk V2 (latest version):
<!-- Start of Clerk.io E-commerce Personalisation tool - www.clerk.io -->
<script type="text/javascript">
(function(w,d){
var e=d.createElement('script');e.type='text/javascript';e.async=true;
e.src=(d.location.protocol=='https:'?'https':'http')+'://cdn.clerk.io/clerk.js';
var s=d.getElementsByTagName('script')[0];s.parentNode.insertBefore(e,s);
w.__clerk_q=w.__clerk_q||[];w.Clerk=w.Clerk||function(){w.__clerk_q.push(arguments)};
})(window,document);
Clerk('config', {
key: 'O7UITkJIXqXibeQF9ONobiGGKYYKtbvh',
formatters: {
log_price: function(price) {
console.log(price);
}
});
});
</script>
<!-- End of Clerk.io E-commerce Personalisation tool - www.clerk.io -->
You can write any number of Formatters, separated by comma:
formatters: {
log_price: function(price) {
console.log(price);
},
calculate_discount: function(price,special_price) {
return price-special_price;
},
substring: function(text) {
var short_string = text.substring(0,20);
return short_string;
}
}
After creating your Formatters, you can use them in your Designs using this syntax:
{%raw%}{{ price | log_price }} {{ price | calculate_discount | special_price }}{%endraw%}
This effectively allows you to create any functionality in your Designs that you require.