options['implicit']) { add_action('affwp_register_fields_before_tos', array( $this, 'maybe_output_checkbox' ), 20); } add_action('affwp_register_user', array( $this, 'subscribe_from_registration' ), 90, 1); } /** * Output checkbox, once. */ public function maybe_output_checkbox() { if (! $this->shown) { $this->output_checkbox(); $this->shown = true; } } /** * Subscribes from WP Registration Form * * @param int $affiliate_id * * @return bool|string */ public function subscribe_from_registration($affiliate_id) { // was sign-up checkbox checked? if (! $this->triggered()) { return false; } // gather emailadress from user who WordPress registered $user_id = affwp_get_affiliate_user_id($affiliate_id); $user = get_userdata($user_id); // was a user found with the given ID? if (! $user instanceof WP_User) { return false; } $data = $this->user_merge_vars($user); return $this->subscribe($data, $user_id); } /* End registration form functions */ /** * @return bool */ public function is_installed() { return class_exists('Affiliate_WP'); } }