/**
 * 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);
}
예제 #2
0
 /**
  * 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>';
 }
예제 #3
0
"><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>
예제 #5
0
 function test_get_affiliate_visit_count()
 {
     $this->assertEquals(0, affwp_get_affiliate_visit_count($this->_affiliate_id));
 }
예제 #6
0
 /**
  * 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);
 }
예제 #7
0
?>
</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();