function wp_cta_show_stats_list() { global $post; $permalink = get_permalink($post->ID); $variations = get_post_meta($post->ID, 'cta_ab_variations', true); $admin_url = admin_url(); $admin_url = str_replace('?frontend=false', '', $admin_url); if ($variations) { $variations = explode(",", $variations); $variations = array_filter($variations, 'is_numeric'); //echo "<b>".$wp_cta_impressions."</b> visits"; echo "<span class='show-stats button'>" . __('Show Variation Stats', 'cta') . "</span>"; echo "<ul class='wp-cta-varation-stat-ul'>"; $first_status = get_post_meta($post->ID, 'wp_cta_ab_variation_status', true); // Current status $first_notes = get_post_meta($post->ID, 'wp-cta-variation-notes', true); $cr_array = array(); $i = 0; $impressions = 0; $conversions = 0; foreach ($variations as $vid) { $letter = wp_cta_ab_key_to_letter($vid); // convert to letter $each_impression = get_post_meta($post->ID, 'wp-cta-ab-variation-impressions-' . $vid, true); // get impressions $v_status = get_post_meta($post->ID, 'cta_ab_variation_status_' . $vid, true); // Current status if ($i === 0) { $v_status = $first_status; } // get status of first $v_status === "" ? $v_status = "1" : ($v_status = $v_status); // Get on/off status $each_notes = get_post_meta($post->ID, 'wp-cta-variation-notes-' . $vid, true); // Get Notes if ($i === 0) { $each_notes = $first_notes; } // Get first notes $each_conversion = get_post_meta($post->ID, 'wp-cta-ab-variation-conversions-' . $vid, true); $each_conversion === "" ? $final_conversion = 0 : ($final_conversion = $each_conversion); $impressions += get_post_meta($post->ID, 'wp-cta-ab-variation-impressions-' . $vid, true); $conversions += get_post_meta($post->ID, 'wp-cta-ab-variation-conversions-' . $vid, true); if ($each_impression != 0) { $conversion_rate = $final_conversion / $each_impression; } else { $conversion_rate = 0; } $conversion_rate = round($conversion_rate, 2) * 100; $cr_array[] = $conversion_rate; if ($v_status === "0") { $final_status = __('(Paused)', 'cta'); } else { $final_status = ""; } /*if ($cr_array[$i] > $largest) { $largest = $cr_array[$i]; } (($largest === $conversion_rate)) ? $winner_class = 'wp-cta-current-winner' : $winner_class = ""; */ $final_conversion === "1" ? $c_text = 'conversion' : ($c_text = "conversions"); $each_impression === "1" ? $i_text = 'view' : ($i_text = "views"); $each_notes === "" ? $each_notes = 'No notes' : ($each_notes = $each_notes); $data_letter = "data-letter=\"" . $letter . "\""; $popup = "data-notes=\"<span class='wp-cta-pop-description'>" . $each_notes . "</span><span class='wp-cta-pop-controls'><span class='wp-cta-pop-edit button-primary'><a href='" . $admin_url . "post.php?post=" . $post->ID . "&wp-cta-variation-id=" . $vid . "&action=edit'>Edit This Varaition</a></span><span class='wp-cta-pop-preview button'><a title='Click to Preview this variation' class='thickbox' href='" . $permalink . "?wp-cta-variation-id=" . $vid . "&wp_cta_iframe_window=on&post_id=" . $post->ID . "&TB_iframe=true&width=640&height=703' target='_blank'>Preview This Varaition</a></span><span class='wp-cta-bottom-controls'><span class='wp-cta-delete-var-stats' data-letter='" . $letter . "' data-vid='" . $vid . "' rel='" . $post->ID . "'>Clear These Stats</span></span></span>\""; echo "<li rel='" . $final_status . "' data-postid='" . $post->ID . "' data-letter='" . $letter . "' data-wp-cta='' class='wp-cta-stat-row-" . $vid . " " . $post->ID . '-' . $conversion_rate . " status-" . $v_status . "'><a " . $popup . " " . $data_letter . " class='wp-cta-letter' title='click to edit this variation' href='" . $admin_url . "/wp-admin/post.php?post=" . $post->ID . "&wp-cta-variation-id=" . $vid . "&action=edit'>" . $letter . "</a><span class='wp-cta-numbers'> <span class='wp-cta-impress-num'>" . $each_impression . "</span><span class='visit-text'>" . $i_text . " with</span><span class='wp-cta-con-num'>" . $final_conversion . "</span> " . $c_text . "</span><a " . $popup . " " . $data_letter . " class='cr-number cr-empty-" . $conversion_rate . "' href='/wp-admin/post.php?post=" . $post->ID . "&wp-cta-variation-id=" . $vid . "&action=edit'>" . $conversion_rate . "%</a></li>"; $i++; } echo "</ul>"; $winning_cr = max($cr_array); // best conversion rate if ($winning_cr != 0) { echo "<span class='variation-winner-is'>" . $post->ID . "-" . $winning_cr . "</span>"; } //echo "Total Visits: " . $impressions; //echo "Total Conversions: " . $conversions; } else { $notes = get_post_meta($post->ID, 'wp-cta-variation-notes', true); // Get Notes $cr = wp_cta_show_aggregated_stats("cta_cr"); $notes === "" ? $notes = 'No notes' : ($notes = $notes); $popup = "data-notes=\"<span class='wp-cta-pop-description'>" . $notes . "</span><span class='wp-cta-pop-controls'><span class='wp-cta-pop-edit button-primary'><a href='" . $admin_url . "post.php?post=" . $post->ID . "&wp-cta-variation-id=0&action=edit'>Edit This Varaition</a></span><span class='wp-cta-pop-preview button'><a title='Click to Preview this variation' class='thickbox' href='" . $permalink . "?wp-cta-variation-id=0&wp_cta_iframe_window=on&post_id=" . $post->ID . "&TB_iframe=true&width=640&height=703' target='_blank'>Preview This Varaition</a></span><span class='wp-cta-bottom-controls'><span class='wp-cta-delete-var-stats' data-letter='A' data-vid='0' rel='" . $post->ID . "'>Clear These Stats</span></span></span>\""; echo "<ul class='wp-cta-varation-stat-ul'><li rel='' data-postid='" . $post->ID . "' data-letter='A' data-wp-cta=''><a " . $popup . " data-letter=\"A\" class='wp-cta-letter' title='click to edit this variation' href='" . $admin_url . "post.php?post=" . $post->ID . "&wp-cta-variation-id=0&action=edit'>A</a><span class='wp-cta-numbers'> <span class='wp-cta-impress-num'>" . wp_cta_show_aggregated_stats("cta_impressions") . "</span><span class='visit-text'>visits with</span><span class='wp-cta-con-num'>" . wp_cta_show_aggregated_stats("cta_actions") . "</span> conversions</span><a class='cr-number cr-empty-" . $cr . "' href='" . $admin_url . "post.php?post=" . $post->ID . "&wp-cta-variation-id=0&action=edit'>" . $cr . "%</a></li></ul>";
function wp_cta_ab_testing_add_tabs() { global $post; $post_type_is = get_post_type($post->ID); $permalink = get_permalink($post->ID); // Only show wp-cta tabs on landing pages post types (for now) if ($post_type_is === "wp-call-to-action") { $current_variation_id = wp_cta_ab_testing_get_current_variation_id(); if (isset($_GET['new_meta_key'])) { $current_variation_id = $_GET['new_meta_key']; } echo "<input type='hidden' id='open_variation' value='{$current_variation_id}'>"; if (isset($_GET['new_meta_key'])) { echo "<input type='hidden' id='variation_new_meta_key' value='" . $_GET['new_meta_key'] . "'>"; } if (isset($_GET['clone'])) { echo "<input type='hidden' id='clone_variation_id' value='" . $_GET['clone'] . "'>"; } $variations = get_post_meta($post->ID, 'cta_ab_variations', true); if ($variations === "0" && isset($_GET['new_meta_key']) && !isset($_GET['clone'])) { $variations = $variations . ', 1'; } $array_variations = explode(',', $variations); $variations = array_filter($array_variations, 'is_numeric'); $lid = end($array_variations); $new_variation_id = $lid + 1; if ($current_variation_id > 0 || isset($_GET['new-variation'])) { $first_class = 'inactive'; } else { $first_class = 'active'; } echo '<h2 class="nav-tab-wrapper a_b_tabs">'; echo '<a href="?post=' . $post->ID . '&wp-cta-variation-id=0&action=edit" class="wp-cta-ab-tab nav-tab nav-tab-special-' . $first_class . '" id="tabs-0">Version A</a>'; $var_id_marker = 1; foreach ($array_variations as $i => $vid) { if ($vid != 0) { $letter = wp_cta_ab_key_to_letter($i); //alert (variation.new_variation); if ($current_variation_id == $vid && !isset($_GET['new-variation']) || $current_variation_id == $vid && isset($_GET['clone'])) { $cur_class = 'active'; } else { $cur_class = 'inactive'; } echo '<a href="?post=' . $post->ID . '&wp-cta-variation-id=' . $vid . '&action=edit" class="wp-cta-nav-tab nav-tab nav-tab-special-' . $cur_class . '" id="tabs-add-variation">Version ' . $letter . '</a>'; } } if (!isset($_GET['new-variation'])) { echo '<a href="?post=' . $post->ID . '&wp-cta-variation-id=' . $new_variation_id . '&action=edit&new-variation=1" class="wp-cta-nav-tab nav-tab nav-tab-special-inactive nav-tab-add-new-variation" id="tabs-add-variation">Add New Variation <i data-code="f132" style="vertical-align:bottom;" class="dashicons dashicons-plus"></i></a>'; } else { $variation_count = count($array_variations); $vid = isset($_GET['new_meta_key']) ? $_GET['new_meta_key'] : $_GET['wp-cta-variation-id']; $letter = wp_cta_ab_key_to_letter($vid); echo '<a href="?post=' . $post->ID . '&wp-cta-variation-id=' . $new_variation_id . '&action=edit" class="wp-cta-nav-tab nav-tab nav-tab-special-active" id="tabs-add-variation">' . $letter . '</a>'; } $edit_link = isset($_GET['wp-cta-variation-id']) ? '?wp-cta-variation-id=' . $_GET['wp-cta-variation-id'] . '' : '?wp-cta-variation-id=0'; $post_link = get_permalink($post->ID); $post_link = preg_replace('/\\?.*/', '', $post_link); echo "<a rel='" . $post_link . "' id='cta-launch-front' class='button-primary new-save-wp-cta-frontend' href='{$post_link}{$edit_link}&cta-template-customize=on'>" . __('Launch Visual Editor', 'cta') . "</a>"; echo '</h2>'; } }
function wp_cta_ab_testing_frontend_editor_screen_pre($post) { $wp_cta_variation = isset($_GET['wp-cta-variation-id']) ? $_GET['wp-cta-variation-id'] : '0'; $letter = wp_cta_ab_key_to_letter($wp_cta_variation); echo '<div id="current_variation_id">' . $wp_cta_variation . '</div>'; ?> <script type='text/javascript'> jQuery(document).ready(function ($) { //append letter var letterexists = jQuery(".variation-letter-top").length; console.log(letterexists); if (letterexists === 0){ jQuery('#wp-cta-frontend-options-container h1:first').prepend('<span class="variation-letter-top"><?php echo $letter; ?> </span>'); } }); </script> <?php }