/** * Retrieves the rate and type for a specific product * * @access public * @since 1.7 * @return float */ public function get_product_rate($level_id = 0, $args = array()) { $rate = get_option('affwp_rcp_level_rate_' . $level_id, true); if (empty($rate)) { $rate = affwp_get_affiliate_rate($this->affiliate_id); } return apply_filters('affwp_get_product_rate', (double) $rate, $level_id, $args, $this->affiliate_id, $this->context); }
/** * Get the data being exported * * @access public * @since 1.3 * @return array $data Data for Export */ public function get_data() { $args = array('status' => $this->status, 'number' => -1); $data = array(); $affiliates = affiliate_wp()->affiliates->get_affiliates($args); if ($affiliates) { foreach ($affiliates as $affiliate) { $data[] = array('affiliate_id' => $affiliate->affiliate_id, 'email' => affwp_get_affiliate_email($affiliate->affiliate_id), 'payment_email' => affwp_get_affiliate_payment_email($affiliate->affiliate_id), 'username' => affwp_get_affiliate_login($affiliate->affiliate_id), 'rate' => affwp_get_affiliate_rate($affiliate->affiliate_id), 'rate_type' => affwp_get_affiliate_rate_type($affiliate->affiliate_id), 'earnings' => $affiliate->earnings, 'referrals' => $affiliate->referrals, 'visits' => $affiliate->visits, 'status' => $affiliate->status, 'date_registered' => $affiliate->date_registered); } } $data = apply_filters('affwp_export_get_data', $data); $data = apply_filters('affwp_export_get_data_' . $this->export_type, $data); return $data; }
/** * Render the earnings column * * @access public * @since 1.0 * @param array $affiliate Contains all the data for the earnings column * @return string earnings link */ function column_rate($affiliate) { return affwp_get_affiliate_rate($affiliate->affiliate_id, true); }
function affwp_calc_referral_amount($amount = '', $affiliate_id = 0, $reference = 0, $rate = '', $product_id = 0) { // If the affiliate has a custom rate set, use it. If no rate is specified, use the fallback $rate = affwp_get_affiliate_rate($affiliate_id, false, $rate); if ('percentage' == affwp_get_affiliate_rate_type($affiliate_id)) { $referral_amount = round($amount * $rate, 2); } else { $referral_amount = $rate; } if ($referral_amount < 0) { $referral_amount = 0; } return apply_filters('affwp_calc_referral_amount', $referral_amount, $affiliate_id, $amount, $reference, $product_id); }
</th> <th><?php _e('Commission Rate', 'affiliate-wp'); ?> </th> </tr> </thead> <tbody> <tr> <td><?php echo affwp_get_affiliate_unpaid_earnings(affwp_get_affiliate_id(), true); ?> </td> <td><?php echo affwp_get_affiliate_earnings(affwp_get_affiliate_id(), true); ?> </td> <td><?php echo affwp_get_affiliate_rate(affwp_get_affiliate_id(), true); ?> </td> </tr> </tbody> </table> <?php do_action('affwp_affiliate_dashboard_after_earnings', affwp_get_affiliate_id()); ?> </div>
function test_get_affiliate_rate() { $this->assertEquals('0.2', affwp_get_affiliate_rate($this->_affiliate_id)); $this->assertEquals('20%', affwp_get_affiliate_rate($this->_affiliate_id, true)); }
/** * Render the earnings column * * @access public * @since 1.0 * @param array $affiliate Contains all the data for the earnings column * @return string earnings link */ function column_rate($affiliate) { $value = affwp_get_affiliate_rate($affiliate->affiliate_id, true); return apply_filters('affwp_affiliate_table_rate', $value, $affiliate); }
/** * Calculate the referral amount * * @param string $amount * @param int $affiliate_id * @param int $reference * @param string $rate * @param int $product_id * @return float */ function affwp_calc_referral_amount($amount = '', $affiliate_id = 0, $reference = 0, $rate = '', $product_id = 0) { $rate = affwp_get_affiliate_rate($affiliate_id, false, $rate, $reference); $type = affwp_get_affiliate_rate_type($affiliate_id); $decimals = affwp_get_decimal_count(); $referral_amount = 'percentage' === $type ? round($amount * $rate, $decimals) : $rate; if ($referral_amount < 0) { $referral_amount = 0; } return (string) apply_filters('affwp_calc_referral_amount', $referral_amount, $affiliate_id, $amount, $reference, $product_id); }
/** * Retrieves the rate and type for a specific product * * @access public * @since 1.2 * @return float */ public function get_product_rate($product_id = 0, $args = array()) { $rate = get_post_meta($product_id, '_affwp_' . $this->context . '_product_rate', true); if (empty($rate)) { $rate = affwp_get_affiliate_rate($this->affiliate_id); } return apply_filters('affwp_get_product_rate', (double) $rate, $product_id, $args, $this->affiliate_id, $this->context); }
/** * Show an affiliate's commission rate * * [affiliate_commission_rate] * * @since 1.1 */ function affiliate_commission_rate($atts, $content = null) { if (!(affwp_is_affiliate() && affwp_is_active_affiliate())) { return; } $content = affwp_get_affiliate_rate(affwp_get_affiliate_id(), true); return do_shortcode($content); }