fixed wp plugin
This commit is contained in:
@@ -0,0 +1,149 @@
|
||||
<?php
|
||||
/**
|
||||
* Admin functionality class
|
||||
*/
|
||||
|
||||
// Exit if accessed directly
|
||||
if (!defined('ABSPATH')) {
|
||||
exit;
|
||||
}
|
||||
|
||||
class Palantics_Admin {
|
||||
|
||||
// Tracking server URL
|
||||
private $tracking_server_url = 'tracking1.karlbreuer.com';
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*/
|
||||
public function __construct() {
|
||||
// Add settings page
|
||||
add_action('admin_menu', array($this, 'add_settings_page'));
|
||||
add_action('admin_init', array($this, 'register_settings'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Add settings page
|
||||
*/
|
||||
public function add_settings_page() {
|
||||
add_options_page(
|
||||
'Palantics Tracking',
|
||||
'Palantics Tracking',
|
||||
'manage_options',
|
||||
'palantics-tracking-settings',
|
||||
array($this, 'render_settings_page')
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Register settings
|
||||
*/
|
||||
public function register_settings() {
|
||||
register_setting('palantics_tracking_settings', 'palantics_tracking_server_url');
|
||||
register_setting('palantics_tracking_settings', 'palantics_tracking_track_classes');
|
||||
|
||||
add_settings_section(
|
||||
'palantics_tracking_section',
|
||||
'Tracking Settings',
|
||||
array($this, 'settings_section_callback'),
|
||||
'palantics-tracking-settings'
|
||||
);
|
||||
|
||||
add_settings_field(
|
||||
'palantics_tracking_server_url',
|
||||
'Tracking Server URL',
|
||||
array($this, 'server_url_callback'),
|
||||
'palantics-tracking-settings',
|
||||
'palantics_tracking_section'
|
||||
);
|
||||
|
||||
add_settings_section(
|
||||
'palantics_tracking_auto_section',
|
||||
'Element Tracking Settings',
|
||||
array($this, 'auto_settings_section_callback'),
|
||||
'palantics-tracking-settings'
|
||||
);
|
||||
|
||||
add_settings_field(
|
||||
'palantics_tracking_track_classes',
|
||||
'Track Elements with Classes',
|
||||
array($this, 'track_classes_callback'),
|
||||
'palantics-tracking-settings',
|
||||
'palantics_tracking_auto_section'
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Settings section callback
|
||||
*/
|
||||
public function settings_section_callback() {
|
||||
echo '<p>Configure your Palantics tracking server settings.</p>';
|
||||
}
|
||||
|
||||
/**
|
||||
* Auto tracking settings section callback
|
||||
*/
|
||||
public function auto_settings_section_callback() {
|
||||
echo '<p>Configure which elements to track based on CSS classes.</p>';
|
||||
}
|
||||
|
||||
/**
|
||||
* Server URL field callback
|
||||
*/
|
||||
public function server_url_callback() {
|
||||
$value = get_option('palantics_tracking_server_url', $this->tracking_server_url);
|
||||
echo '<input type="text" id="palantics_tracking_server_url" name="palantics_tracking_server_url" value="' . esc_attr($value) . '" class="regular-text">';
|
||||
echo '<p class="description">Enter the tracking server URL without https:// (e.g., tracking1.karlbreuer.com)</p>';
|
||||
echo '<p class="description">You will find this in your domain screen in the Palantics app</p>';
|
||||
}
|
||||
|
||||
/**
|
||||
* Track classes callback
|
||||
*/
|
||||
public function track_classes_callback() {
|
||||
$value = get_option('palantics_tracking_track_classes', '');
|
||||
echo '<input type="text" id="palantics_tracking_track_classes" name="palantics_tracking_track_classes" value="' . esc_attr($value) . '" class="regular-text">';
|
||||
echo '<p class="description">Enter comma-separated class names to automatically track clicks on elements with these classes (e.g., cta-button, featured-product)</p>';
|
||||
}
|
||||
|
||||
/**
|
||||
* Render settings page
|
||||
*/
|
||||
public function render_settings_page() {
|
||||
?>
|
||||
<div class="wrap">
|
||||
<h1><span style="color: #007cba;">Palantics</span> Tracking Settings</h1>
|
||||
<form method="post" action="options.php">
|
||||
<?php
|
||||
settings_fields('palantics_tracking_settings');
|
||||
do_settings_sections('palantics-tracking-settings');
|
||||
submit_button();
|
||||
?>
|
||||
</form>
|
||||
|
||||
<div style="background-color: #fff; padding: 20px; margin-top: 20px; border: 1px solid #ccc; border-radius: 4px;">
|
||||
<h2>Manual Tracking Methods</h2>
|
||||
|
||||
<div style="margin-bottom: 20px;">
|
||||
<h3>Method 1: Using Data Attributes</h3>
|
||||
<p>Add the <code>data-track</code> attribute to any HTML element to track clicks:</p>
|
||||
<pre style="background-color: #f5f5f5; padding: 10px; border-radius: 4px;"><button data-track="signup_button_click">Sign Up</button></pre>
|
||||
</div>
|
||||
|
||||
<div style="margin-bottom: 20px;">
|
||||
<h3>Method 2: Using Shortcode</h3>
|
||||
<p>Wrap any content with the shortcode to track clicks:</p>
|
||||
<pre style="background-color: #f5f5f5; padding: 10px; border-radius: 4px;">[track_element event="download_click" class="your-class" style="your-style"]
|
||||
Your content here (can include other shortcodes)
|
||||
[/track_element]</pre>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<h3>Method 3: Using Direct JavaScript</h3>
|
||||
<p>You can also manually add <code>onclick="tE('your_event_name')"</code> to any HTML element.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<?php
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user