function lp_preview_iframe() { $lp_variation = isset($_GET['lp-variation-id']) ? $_GET['lp-variation-id'] : '0'; $postid = $_GET['post_id']; $variations = get_post_meta($postid, 'lp-ab-variations', true); $variations_array = explode(",", $variations); $post_type_is = get_post_type($postid); ?> <link rel="stylesheet" href="<?php echo LANDINGPAGES_URLPATH . 'css/customizer-ab-testing.css'; ?> " /> <style type="text/css"> #variation-list { position: absolute; top: 0px; left:0px; padding-left: 5px; } #variation-list h3 { text-decoration: none; border-bottom: none; } #variation-list div { display: inline-block; } #current_variation_id, #current-post-id { display: none !important; } <?php if ($post_type_is !== "landing-page") { echo "#variation-list {display:none !important;}"; }
function lp_ab_testing_add_tabs() { global $post; $post_type_is = get_post_type($post->ID); $permalink = get_permalink($post->ID); // Only show lp tabs on landing pages post types (for now) if ($post_type_is === "landing-page") { $current_variation_id = lp_ab_testing_get_current_variation_id(); if (isset($_GET['new_meta_key']) && is_numeric($_GET['new_meta_key'])) { $current_variation_id = $_GET['new_meta_key']; } echo "<input type='hidden' id='open_variation' value='{$current_variation_id}'>"; $variations = get_post_meta($post->ID, 'lp-ab-variations', true); $array_variations = explode(',', $variations); $variations = array_filter($array_variations, 'is_numeric'); sort($array_variations, SORT_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 . '&lp-variation-id=0&action=edit" class="lp-ab-tab nav-tab nav-tab-special-' . $first_class . '" id="tabs-0">A</a>'; $var_id_marker = 1; foreach ($array_variations as $i => $vid) { if ($vid != 0) { $letter = lp_ab_key_to_letter($vid); //alert (variation.new_variation); if ($current_variation_id == $vid && !isset($_GET['new-variation'])) { $cur_class = 'active'; } else { $cur_class = 'inactive'; } echo '<a href="?post=' . $post->ID . '&lp-variation-id=' . $vid . '&action=edit" class="lp-nav-tab nav-tab nav-tab-special-' . $cur_class . '" id="tabs-add-variation">' . $letter . '</a>'; } } if (!isset($_GET['new-variation'])) { echo '<a href="?post=' . $post->ID . '&lp-variation-id=' . $new_variation_id . '&action=edit&new-variation=1" class="lp-nav-tab nav-tab nav-tab-special-inactive nav-tab-add-new-variation" id="tabs-add-variation">Add New Variation</a>'; } else { $variation_count = count($array_variations); $letter = lp_ab_key_to_letter($variation_count); echo '<a href="?post=' . $post->ID . '&lp-variation-id=' . $new_variation_id . '&action=edit" class="lp-nav-tab nav-tab nav-tab-special-active" id="tabs-add-variation">' . $letter . '</a>'; } $edit_link = isset($_GET['lp-variation-id']) ? '?lp-variation-id=' . $_GET['lp-variation-id'] . '' : '?lp-variation-id=0'; $post_link = get_permalink($post->ID); $post_link = preg_replace('/\\?.*/', '', $post_link); echo "<a rel='" . $post_link . "' id='launch-visual-editer' class='button-primary new-save-lp-frontend' href='{$post_link}{$edit_link}&template-customize=on'>Launch Visual Editor</a>"; echo '</h2>'; } }
function lp_show_stats_list() { global $post; $permalink = get_permalink($post->ID); $variations = get_post_meta($post->ID, 'lp-ab-variations', true); if ($variations) { $variations = explode(",", $variations); $variations = array_filter($variations, 'is_numeric'); //echo "<b>".$lp_impressions."</b> visits"; echo "<span class='show-stats button'>Show Variation Stats</span>"; echo "<ul class='lp-varation-stat-ul'>"; $first_status = get_post_meta($post->ID, 'lp_ab_variation_status', true); // Current status $first_notes = get_post_meta($post->ID, 'lp-variation-notes', true); $cr_array = array(); $i = 0; $impressions = 0; $conversions = 0; foreach ($variations as $key => $vid) { $letter = lp_ab_key_to_letter($key); // convert to letter $each_impression = get_post_meta($post->ID, 'lp-ab-variation-impressions-' . $vid, true); // get impressions $v_status = get_post_meta($post->ID, 'lp_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, 'lp-variation-notes-' . $vid, true); // Get Notes if ($i === 0) { $each_notes = $first_notes; } // Get first notes $each_conversion = get_post_meta($post->ID, 'lp-ab-variation-conversions-' . $vid, true); $each_conversion === "" ? $final_conversion = 0 : ($final_conversion = $each_conversion); $impressions += get_post_meta($post->ID, 'lp-ab-variation-impressions-' . $vid, true); $conversions += get_post_meta($post->ID, 'lp-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)", 'landing-pages'); } else { $final_status = ""; } /*if ($cr_array[$i] > $largest) { $largest = $cr_array[$i]; } (($largest === $conversion_rate)) ? $winner_class = 'lp-current-winner' : $winner_class = ""; */ $final_conversion === "1" ? $c_text = __('conversion', 'landing-pages') : ($c_text = __("conversions", 'landing-pages')); $each_impression === "1" ? $i_text = __('visit', 'landing-pages') : ($i_text = __("visits", 'landing-pages')); $each_notes === "" ? $each_notes = __('No notes', 'landing-pages') : ($each_notes = $each_notes); $data_letter = "data-letter=\"" . $letter . "\""; $edit_link = admin_url('post.php?post=' . $post->ID . '&lp-variation-id=' . $vid . '&action=edit'); $popup = "data-notes=\"<span class='lp-pop-description'>" . $each_notes . "</span><span class='lp-pop-controls'><span class='lp-pop-edit button-primary'><a href='" . $edit_link . "'>Edit This variation</a></span><span class='lp-pop-preview button'><a title='Click to Preview this variation' class='thickbox' href='" . $permalink . "?lp-variation-id=" . $vid . "&iframe_window=on&post_id=" . $post->ID . "&TB_iframe=true&width=640&height=703' target='_blank'>Preview This variation</a></span><span class='lp-bottom-controls'><span class='lp-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-lp='' class='lp-stat-row-" . $vid . " " . $post->ID . '-' . $conversion_rate . " status-" . $v_status . "'><a " . $popup . " " . $data_letter . " class='lp-letter' title='click to edit this variation' href='" . $edit_link . "'>" . $letter . "</a><span class='lp-numbers'> <span class='lp-impress-num'>" . $each_impression . "</span><span class='visit-text'>" . $i_text . " with</span><span class='lp-con-num'>" . $final_conversion . "</span> " . $c_text . "</span><a " . $popup . " " . $data_letter . " class='cr-number cr-empty-" . $conversion_rate . "' href='" . $edit_link . "'>" . $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, 'lp-variation-notes', true); // Get Notes $cr = lp_show_aggregated_stats("cr"); $edit_link = admin_url('post.php?post=' . $post->ID . '&lp-variation-id=0&action=edit'); $start_test_link = admin_url('post.php?post=' . $post->ID . '&lp-variation-id=1&action=edit&new-variation=1&lp-message=go'); $notes === "" ? $notes = __('No notes', 'landing-pages') : ($notes = $notes); $popup = "data-notes=\"<span class='lp-pop-description'>" . $notes . "</span><span class='lp-pop-controls'><span class='lp-pop-edit button-primary'><a href='" . $edit_link . "'>Edit This variation</a></span><span class='lp-pop-preview button'><a title='Click to Preview this variation' class='thickbox' href='" . $permalink . "?lp-variation-id=0&iframe_window=on&post_id=" . $post->ID . "&TB_iframe=true&width=640&height=703' target='_blank'>" . __('Preview This variation', 'landing-pages') . "</a></span><span class='lp-bottom-controls'><span class='lp-delete-var-stats' data-letter='A' data-vid='0' rel='" . $post->ID . "'>" . __('Clear These Stats', 'landing-pages') . "</span></span></span>\""; echo "<ul class='lp-varation-stat-ul'><li rel='' data-postid='" . $post->ID . "' data-letter='A' data-lp=''><a " . $popup . " data-letter=\"A\" class='lp-letter' title='click to edit this variation' href='" . $edit_link . "'>A</a><span class='lp-numbers'> <span class='lp-impress-num'>" . lp_show_aggregated_stats("impressions") . "</span><span class='visit-text'>visits with</span><span class='lp-con-num'>" . lp_show_aggregated_stats("actions") . "</span> conversions</span><a class='cr-number cr-empty-" . $cr . "' href='" . $edit_link . "'>" . $cr . "%</a></li></ul>"; echo "<div class='no-stats-yet'>" . __('No A/B Tests running for this landing page', 'landing-pages') . ". <a href='" . $start_test_link . "'>" . __('Start one', 'landing-pages') . "</a></div>"; } }