示例#1
0
    /**
     * Displays quick stats metabox
     */
    public static function display_quick_stats_metabox()
    {
        global $post;
        $variations = Landing_Pages_Variations::get_variations($post->ID);
        $variations = array_filter($variations, 'is_numeric');
        ?>
        <div>
            <style type="text/css">

            </style>
            <div class="inside" id="a-b-testing">
                <div id="bab-stat-box">
                    <?php 
        if (isset($_GET['new_meta_key']) && is_numeric($_GET['new_meta_key'])) {
            ?>
                        <script type="text/javascript">
                            jQuery(document).ready(function($) {
                                /* This fixes meta data saves for cloned pages */
                                function isNumber (o) {
                                    return ! isNaN (o-0) && o !== null && o !== "" && o !== false;
                                }
                                var new_meta_key = "<?php 
            echo $_GET['new_meta_key'];
            ?>
";
                                jQuery('#template-display-options input[type=text], #template-display-options select, #template-display-options input[type=radio], #template-display-options textarea').each(function(){
                                    var this_id = jQuery(this).attr("id");
                                    var final_number = this_id.match(/[^-]+$/g);
                                    var new_id = this_id.replace(/[^-]+$/g, new_meta_key);
                                    var is_number = isNumber(final_number);

                                    if (is_number === false) {
                                        jQuery(this).attr("id", this_id + "-" + new_meta_key);
                                        jQuery(this).attr("name", this_id + "-" + new_meta_key);
                                    } else {
                                        jQuery(this).attr("id", new_id);
                                        jQuery(this).attr("name", new_id);
                                    }
                                });
                            });
                        </script>
                    <?php 
        }
        $howmany = count($variations);
        foreach ($variations as $key => $vid) {
            $variation_status = Landing_Pages_Variations::get_variation_status($post->ID, $vid);
            $variation_status_class = $variation_status == 1 ? "variation-on" : 'variation-off';
            $permalink = Landing_Pages_Variations::get_variation_permalink($post->ID, $vid);
            $impressions = Landing_Pages_Variations::get_impressions($post->ID, $vid);
            $conversions = Landing_Pages_Variations::get_conversions($post->ID, $vid);
            $conversion_rate = Landing_Pages_Variations::get_conversion_rate($post->ID, $vid);
            $title = Landing_Pages_Variations::get_main_headline($post->ID, $vid);
            ?>

                        <div id="lp-variation-<?php 
            echo Landing_Pages_Variations::vid_to_letter($post->ID, $key);
            ?>
"
                             class="bab-variation-row <?php 
            echo $variation_status_class;
            ?>
">
                            <div class='bab-varation-header'>
								<span class='bab-variation-name'><?php 
            _e('Variation', 'landing-pages');
            ?>
 <span
                                        class='bab-stat-letter'><?php 
            echo Landing_Pages_Variations::vid_to_letter($post->ID, $key);
            ?>
</span>
                                    <?php 
            if ($variation_status != 1) {
                ?>
                                        <span class='is-paused'>(<?php 
                _e('Paused', 'landing-pages');
                ?>
)</span>
                                    <?php 
            }
            ?>
								</span>


                                <span class="lp-delete-var-stats" data-letter='<?php 
            echo Landing_Pages_Variations::vid_to_letter($post->ID, $key);
            ?>
'
                                      data-vid='<?php 
            echo $vid;
            ?>
' rel='<?php 
            echo $post->ID;
            ?>
'
                                      title="<?php 
            _e('Delete this variations stats', 'landing-pages');
            ?>
"><?php 
            _e('Clear Stats', 'landing-pages');
            ?>
</span>
                            </div>
                            <div class="bab-stat-row">
                                <div class='bab-stat-stats' colspan='2'>
                                    <div class='bab-stat-container-impressions bab-number-box'>
                                        <span class='bab-stat-span-impressions'><?php 
            echo $impressions;
            ?>
</span>
                                        <span class="bab-stat-id"><?php 
            _e('Views', 'landing-pages');
            ?>
 </span>
                                    </div>
                                    <div class='bab-stat-container-conversions bab-number-box'>
                                        <span class='bab-stat-span-conversions'><?php 
            echo $conversions;
            ?>
</span>
                                        <span
                                            class="bab-stat-id"><?php 
            _e('Conversions', 'landing-pages');
            ?>
</span></span>
                                    </div>
                                    <div class='bab-stat-container-conversion_rate bab-number-box'>
                                        <span
                                            class='bab-stat-span-conversion_rate'><?php 
            echo $conversion_rate;
            ?>
</span>
                                        <span
                                            class="bab-stat-id bab-rate"><?php 
            _e('Conversion Rate', 'landing-pages');
            ?>
</span>
                                    </div>
                                    <div class='bab-stat-control-container'>
                                        <span class='bab-stat-control-pause'><a
                                                title="<?php 
            _e('Pause this variation', 'landing-pages');
            ?>
"
                                                href='?post=<?php 
            echo $post->ID;
            ?>
&action=edit&action-variation-id=<?php 
            echo $vid;
            ?>
&ab-action=pause-variation'><?php 
            _e('Pause', 'landing-pages');
            ?>
</a></span>
                                        <span class='bab-stat-seperator pause-sep'>|</span>
                                        <span class='bab-stat-control-play'><a
                                                title="<?php 
            _e('Turn this variation on', 'landing-pages');
            ?>
"
                                                href='?post=<?php 
            echo $post->ID;
            ?>
&action=edit&action-variation-id=<?php 
            echo $vid;
            ?>
&ab-action=play-variation'><?php 
            _e('Play', 'landing-pages');
            ?>
</a></span>
                                        <span class='bab-stat-seperator play-sep'>|</span>
                                        <span class='bab-stat-menu-edit'><a
                                                title="<?php 
            _e('Edit this variation', 'landing-pages');
            ?>
"
                                                href='?post=<?php 
            echo $post->ID;
            ?>
&action=edit&action-variation-id=<?php 
            echo $vid;
            ?>
'><?php 
            _e('Edit', 'landing-pages');
            ?>
</a></span>
                                        <span class='bab-stat-seperator'>|</span>
                                        <span class='bab-stat-menu-preview'><a
                                                title="<?php 
            _e('Preview this variation', 'landing-pages');
            ?>
"
                                                class='thickbox'
                                                href='<?php 
            echo $permalink;
            ?>
&iframe_window=on&post_id=<?php 
            echo $post->ID;
            ?>
&TB_iframe=true&width=1503&height=467'
                                                target='_blank'><?php 
            _e('Preview', 'landing-pages');
            ?>
</a></span>
                                        <span class='bab-stat-seperator'>|</span>
                                        <span class='bab-stat-menu-clone'><a
                                                title="<?php 
            _e('Clone this variation', 'landing-pages');
            ?>
"
                                                href='?post=<?php 
            echo $post->ID;
            ?>
&action=edit&new-variation=1&clone=<?php 
            echo $vid;
            ?>
&new_meta_key=<?php 
            echo $howmany;
            ?>
'><?php 
            _e('Clone', 'landing-pages');
            ?>
</a></span>
                                        <span class='bab-stat-seperator'>|</span>
                                        <span class='bab-stat-control-delete'><a
                                                title="<?php 
            _e('Delete this variation', 'landing-pages');
            ?>
"
                                                href='?post=<?php 
            echo $post->ID;
            ?>
&action=edit&action-variation-id=<?php 
            echo $vid;
            ?>
&ab-action=delete-variation'><?php 
            _e('Delete', 'landing-pages');
            ?>
</a></span>
                                    </div>
                                </div>
                            </div>
                            <div class="bab-stat-row">

                                <div class='bab-stat-menu-container'>

                                    <?php 
            do_action('lp_ab_testing_stats_menu_post');
            ?>

                                </div>
                            </div>
                        </div>
                    <?php 
        }
        ?>
                </div>

            </div>
        </div>
    <?php 
    }
 /**
  * Show stats container on Landing Page lists page
  */
 public static function show_stats()
 {
     global $post;
     $permalink = get_permalink($post->ID);
     $variations = Landing_Pages_Variations::get_variations($post->ID);
     echo "<span class='show-stats button'> " . __('Show Variation Stats', 'landing-pages') . "</span>";
     echo "<ul class='lp-varation-stat-ul'>";
     $cr_array = array();
     $i = 0;
     $impressions = 0;
     $conversions = 0;
     foreach ($variations as $key => $vid) {
         $letter = Landing_Pages_Variations::vid_to_letter($post->ID, $key);
         /* convert to letter */
         $each_impression = get_post_meta($post->ID, 'lp-ab-variation-impressions-' . $vid, true);
         /* get impressions */
         /* get variation status */
         $v_status = Landing_Pages_Variations::get_variation_status($post->ID, $vid);
         /* Current status */
         /* Get variation notes */
         $each_notes = Landing_Pages_Variations::get_variation_notes($post->ID, $vid);
         $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; */
 }