/** * Retrieves the affiliate's conversion rate * * @since 1.0 * @return float */ function affwp_get_affiliate_conversion_rate($affiliate) { if (is_object($affiliate) && isset($affiliate->affiliate_id)) { $affiliate_id = $affiliate->affiliate_id; } elseif (is_numeric($affiliate)) { $affiliate_id = absint($affiliate); } else { return false; } $rate = 0; $referrals = affiliate_wp()->referrals->count(array('affiliate_id' => $affiliate_id, 'status' => array('paid', 'unpaid'))); $visits = affwp_get_affiliate_visit_count($affiliate_id); if ($visits > 0) { $rate = round($referrals / $visits * 100, 2); } return apply_filters('affwp_get_affiliate_conversion_rate', $rate . '%', $affiliate_id); }
/** * Render the visits column * * @access public * @since 1.0 * @param array $affiliate Contains all the data for the visits column * @return string visits link */ function column_visits($affiliate) { return '<a href="' . admin_url('admin.php?page=affiliate-wp-visits&affiliate=' . $affiliate->affiliate_id) . '">' . affwp_get_affiliate_visit_count($affiliate->affiliate_id) . '</a>'; }
"><i></i></span> </td> </tr> <?php } ?> <?php } else { ?> <tr> <td colspan="3"><?php _e('You have not received any visits yet.', 'affiliate-wp'); ?> </td> </tr> <?php } ?> </tbody> </table> <p class="affwp-pagination"> <?php echo paginate_links(array('current' => $page, 'total' => ceil(affwp_get_affiliate_visit_count(affwp_get_affiliate_id()) / $per_page), 'add_fragment' => '#affwp-affiliate-dashboard-visits', 'add_args' => array('tab' => 'visits'))); ?> </p> </div>
<div id="affwp-affiliate-dashboard-visits" class="affwp-tab-content"> <h4><?php _e('Referral URL Visits', 'affiliate-wp'); ?> </h4> <?php $per_page = 30; $page = get_query_var('paged') ? get_query_var('paged') : 1; $pages = absint(ceil(affwp_get_affiliate_visit_count(affwp_get_affiliate_id()) / $per_page)); $visits = affiliate_wp()->visits->get_visits(array('number' => $per_page, 'offset' => $per_page * ($page - 1), 'affiliate_id' => affwp_get_affiliate_id())); ?> <table id="affwp-affiliate-dashboard-visits" class="affwp-table"> <thead> <tr> <th class="visit-url"><?php _e('URL', 'affiliate-wp'); ?> </th> <th class="referring-url"><?php _e('Referring URL', 'affiliate-wp'); ?> </th> <th class="referral-status"><?php _e('Converted', 'affiliate-wp'); ?> </th> </tr> </thead>
function test_get_affiliate_visit_count() { $this->assertEquals(0, affwp_get_affiliate_visit_count($this->_affiliate_id)); }
/** * Render the visits column * * @access public * @since 1.0 * @param array $affiliate Contains all the data for the visits column * @return string visits link */ function column_visits($affiliate) { $value = '<a href="' . admin_url('admin.php?page=affiliate-wp-visits&affiliate=' . $affiliate->affiliate_id) . '">' . affwp_get_affiliate_visit_count($affiliate->affiliate_id) . '</a>'; return apply_filters('affwp_affiliate_table_visits', $value, $affiliate); }
?> </td> <td><?php echo affiliate_wp()->referrals->count(array('affiliate_id' => $affiliate_id, 'status' => 'unpaid')); ?> </td> <td><?php echo affiliate_wp()->referrals->count(array('affiliate_id' => $affiliate_id, 'status' => 'pending')); ?> </td> <td><?php echo affiliate_wp()->referrals->count(array('affiliate_id' => $affiliate_id, 'status' => 'rejected')); ?> </td> <td><?php echo affwp_get_affiliate_visit_count($affiliate_id); ?> </td> <?php do_action('affwp_view_affiliate_report_table_row', $affiliate_id); ?> </tr> </tbody> </table> <?php $graph = new Affiliate_WP_Referrals_Graph(); $graph->set('x_mode', 'time'); $graph->set('affiliate_id', $affiliate_id); $graph->display();