Create New Item
×
Item Type
File
Folder
Item Name
×
Search file in folder and subfolders...
File Manager
/
wp-content
/
plugins
/
woocommerce
/
includes
/
tracks
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?php defined('ABSPATH') || exit; class WC_Tracks_Footer_Pixel { protected static $instance = null; protected $events = array(); public static function instance() { if (is_null(self::$instance)) { self::$instance = new WC_Tracks_Footer_Pixel(); } return self::$instance; } public function __construct() { add_action('admin_footer', array($this, 'render_tracking_pixels')); add_action('shutdown', array($this, 'send_tracks_requests')); } public static function record_event($event) { if (!$event instanceof WC_Tracks_Event) { $event = new WC_Tracks_Event($event); } if (is_wp_error($event)) { return $event; } self::instance()->add_event($event); return true; } public function add_event($event) { $this->events[] = $event; } public function render_tracking_pixels() { if (empty($this->events)) { return; } foreach ($this->events as $event) { $pixel = $event->build_pixel_url(); if (!$pixel) { continue; } echo '<img style="position: fixed;" src="', esc_url($pixel), '" />'; } $this->events = array(); } public function send_tracks_requests() { if (empty($this->events)) { return; } foreach ($this->events as $event) { WC_Tracks_Client::record_event($event); } } }