Advertisement
palsushobhan

wcfm-vendor-becomes-affiliate

Mar 21st, 2022
205
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.82 KB | None | 0 0
  1. add_action('init', function () {
  2.     if(!session_id()) {
  3.         session_start();
  4.     }
  5.     $wreferrer = filter_input( INPUT_GET, 'wreferrer' );
  6.     if( $wreferrer ) {
  7.         $affiliate = wcfm_get_affiliate_by_referrer( $wreferrer );
  8.         if( $affiliate ) {
  9.             if (!session_id()) {
  10.                 session_start();
  11.             }
  12.             $_SESSION['wreferrer']=absint($affiliate);
  13.         }
  14.     }
  15. }, 1);
  16.  
  17. add_action( 'wcfmmp_new_store_created', function( $store_id ) {
  18.     $member_user = new WP_User(absint($store_id));
  19.     $member_user->add_role('wcfm_affiliate');
  20.     if(isset($_SESSION['wreferrer'])) {
  21.         update_user_meta( $store_id, '_wcfm_affiliate', $_SESSION['wreferrer'] );
  22.         unset($_SESSION['wreferrer']);
  23.     }
  24.     $member_user->remove_role('wcfm_vendor');
  25.     $member_user->add_role('wcfm_vendor');
  26. }, 50 );
  27.    
  28. function prepare_affiliate_user( $user_id, $role ) {
  29.     if($role!=='wcfm_affiliate') return;
  30.    
  31.     $affiliate_code = get_user_meta( $user_id, 'affiliate_code', true);
  32.     if($affiliate_code) return;
  33.     $user = get_user_by('id', $user_id);
  34.     $affiliate_code = substr( md5( $user->user_email . '+' . $user_id ), 0, 10 );
  35.     update_user_meta( $user_id, 'affiliate_code', $affiliate_code );
  36.     // Affiliate Commission
  37.     $global_commission = get_option( 'wcfm_affiliate_commission', array() );
  38.     $global_commission['rule'] = 'global';
  39.     update_user_meta( $user_id, 'wcfm_affiliate_commission', $global_commission );
  40.     update_user_meta( $user_id, 'wcfm_affiliate_application_status', 'approved' );
  41.     update_user_meta( $user_id, 'show_admin_bar_front', false );
  42.     update_user_meta( $user_id, 'wcemailverified', 'true' );
  43. }
  44. add_action( 'set_user_role', 'prepare_affiliate_user', 10, 2 );
  45. add_action( 'add_user_role', 'prepare_affiliate_user', 10, 2 );
  46.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement