Referral by referral code
-
Hi Bro,
Could you please help me, I would like to create a referral program on my website. I currently have 3 different registration forms. Each of them creates a different user account with a different role. I use the Ultimate Member plugin for this. Therefore, I would like to implement a field in each of these forms where the user can enter the referral code. I’m totally green and don’t know how to go about it.I would like to add that I added a text field to the forms where the user could enter the reference code. Then I entered the plugin editor and in template/register.php I wanted to create an appropriate function to collect data(refferal code) from the form and use your Action Hook -> wp_referral_code_after_refer_submitted. Only, I don’t know how I can collect the appropriate arguments for this function from here, i.e. new user id (new_user_id), referrer user id (referrer_user_id) and new reference code (new_user_refer_code)
I don’t know if this is the right path, but maybe you can guide me.My code:
<?php /* if(isset($_POST['refferal-4988'])){ do_action( 'wp_referral_code_after_refer_submitted', $new_user_id, $referrer_user_id, $ref_code, $new_user_ref_code ); } function my_after_form($args){ $refferal = $_POST['refferal-4988']; do_action( 'wp_referral_code_after_refer_submitted', $new_user_id, $referrer_user_id, $refferal); } */ add_action('user_register', function ($new_user_id) { $user = WP_user::get_data_by('id', $new_user_id); $new_user_ref_code = new WP_Refer_Code($new_user_id); $refferal = $_POST['refferal-4988']; do_action( 'wp_referral_code_after_refer_submitted', $new_user_id, $referrer_user_id, $refferal, $new_user_ref_code); } ?>
All register.php code:
<?php if ( ! defined( 'ABSPATH' ) ) exit; ?> <div class="um <?php echo esc_attr( $this->get_class( $mode ) ); ?> um-<?php echo esc_attr( $form_id ); ?>"> <div class="um-form" data-mode="<?php echo esc_attr( $mode ) ?>"> <form method="post" action=""> <?php /** * UM hook * * @type action * @title um_before_form * @description Some actions before register form * @input_vars * [{"var":"$args","type":"array","desc":"Register form shortcode arguments"}] * @change_log * ["Since: 2.0"] * @usage add_action( 'um_before_form', 'function_name', 10, 1 ); * @example * <?php * add_action( 'um_before_form', 'my_before_form', 10, 1 ); * function my_before_form( $args ) { * // your code here * } * ?> */ do_action( "um_before_form", $args ); /** * UM hook * * @type action * @title um_before_{$mode}_fields * @description Some actions before register form fields * @input_vars * [{"var":"$args","type":"array","desc":"Register form shortcode arguments"}] * @change_log * ["Since: 2.0"] * @usage add_action( 'um_before_{$mode}_fields', 'function_name', 10, 1 ); * @example * <?php * add_action( 'um_before_{$mode}_fields', 'my_before_fields', 10, 1 ); * function my_before_form( $args ) { * // your code here * } * ?> */ do_action( "um_before_{$mode}_fields", $args ); /** * UM hook * * @type action * @title um_before_{$mode}_fields * @description Some actions before register form fields * @input_vars * [{"var":"$args","type":"array","desc":"Register form shortcode arguments"}] * @change_log * ["Since: 2.0"] * @usage add_action( 'um_before_{$mode}_fields', 'function_name', 10, 1 ); * @example * <?php * add_action( 'um_before_{$mode}_fields', 'my_before_fields', 10, 1 ); * function my_before_form( $args ) { * // your code here * } * ?> */ do_action( "um_main_{$mode}_fields", $args ); /** * UM hook * * @type action * @title um_after_form_fields * @description Some actions after register form fields * @input_vars * [{"var":"$args","type":"array","desc":"Register form shortcode arguments"}] * @change_log * ["Since: 2.0"] * @usage add_action( 'um_after_form_fields', 'function_name', 10, 1 ); * @example * <?php * add_action( 'um_after_form_fields', 'my_after_form_fields', 10, 1 ); * function my_after_form_fields( $args ) { * // your code here * } * ?> */ do_action( 'um_after_form_fields', $args ); /** * UM hook * * @type action * @title um_after_{$mode}_fields * @description Some actions after register form fields * @input_vars * [{"var":"$args","type":"array","desc":"Register form shortcode arguments"}] * @change_log * ["Since: 2.0"] * @usage add_action( 'um_after_{$mode}_fields', 'function_name', 10, 1 ); * @example * <?php * add_action( 'um_after_{$mode}_fields', 'my_after_form_fields', 10, 1 ); * function my_after_form_fields( $args ) { * // your code here * } * ?> */ do_action( "um_after_{$mode}_fields", $args ); /** * UM hook * * @type action * @title um_after_form * @description Some actions after register form fields * @input_vars * [{"var":"$args","type":"array","desc":"Register form shortcode arguments"}] * @change_log * ["Since: 2.0"] * @usage add_action( 'um_after_form', 'function_name', 10, 1 ); * @example * <?php * add_action( 'um_after_form', 'my_after_form', 10, 1 ); * function my_after_form( $args ) { * // your code here * } * ?> */ do_action( "um_after_form", $args ); ?> <div style="font-size: 3rem; color: #000;"> <?php /* if(isset($_POST['refferal-4988'])){ do_action( 'wp_referral_code_after_refer_submitted', $new_user_id, $referrer_user_id, $ref_code, $new_user_ref_code ); } function my_after_form($args){ $refferal = $_POST['refferal-4988']; do_action( 'wp_referral_code_after_refer_submitted', $new_user_id, $referrer_user_id, $refferal); } */ add_action('user_register', function ($new_user_id) { $user = WP_user::get_data_by('id', $new_user_id); $new_user_ref_code = new WP_Refer_Code($new_user_id); $refferal = $_POST['refferal-4988']; do_action( 'wp_referral_code_after_refer_submitted', $new_user_id, $referrer_user_id, $refferal, $new_user_ref_code); } ?> </div> </form> </div> </div>
- The topic ‘Referral by referral code’ is closed to new replies.