permana
  • 0
Новичок

Плагин WordPress для партнерской реферальной системы

  • 0

Я хочу создать партнерскую систему на WordPress. Я имею в виду, что когда «Член A» приглашает другого присоединиться (например, «Член B») с помощью строки запроса ?referralId=MemberA, тогда Участник A получает баллы или кредиты, а когда Участник B приглашает Участника C, затем Участник B получает точки. Есть ли какой-нибудь плагин WordPress, который может это сделать?

Я уже пробовал Affiliate Pro Plus (http://wordpress.org/extend/plugins/affiliate-pro-plus/), но он не работает должным образом. Когда я пытаюсь зарегистрировать Участника B, используя рекомендацию Участника A, Участник B не считается нижестоящим Участником A.

Share
  1. Не могли бы вы проиллюстрировать необходимость этого? Мне было бы интересно, какой вариант использования в реальном мире это может иметь. Спасибо.

    • 0
    • Я хочу создать веб-сайт, на котором участник получает кредиты / баллы, приглашая других зарегистрироваться. Проверьте themeforest.net, мы можем добавить ?ref=xxx к любому URL-адресу на сайте theyforest.net.

      • 0
    • Большое спасибо за предоставленный код. На самом деле я стараюсь избегать кодирования на тот случай, если уже есть плагин, который может это сделать. Ваш код — хорошее начало, теперь мне нужно добавить поддержку файлов cookie (где ссылка хранится в файлах cookie в течение 30 дней)

      • 0
    • Взгляните на большинство плагинов: они содержат 5 строк кода и 50 комментариев. То, что написал Bainternet, идеально. Ничего более или менее не нужно.

      • 0
    • Отличная работа Bainternet. Попробуйте реализовать в виде плагина на сайте wordpress. Всем будет полезно.

      • 0
    • У меня есть настройка WP, в которой у меня есть пользовательское всплывающее окно входа в систему, которое использует Social Login Plugin wordpress.org/extend/plugins/oa-social-login, где пользователь может войти в систему с помощью FB или Twitter. Таким образом, пользователь никогда не увидит стандартную форму входа в WP. Я пытался получить доступ к $_GET внутри user_register действия, но он всегда пуст. Любые советы о том, как можно было бы получить ref параметр URL с такой настройкой? Большое спасибо.

      • 0
    • @Bainternet, спасибо за объяснение. Я пробовал с сеансом, но это, похоже, не сработало. Я буду копаться в сеансах больше. Еще раз спасибо, я знаю, что трудно понять причину, когда вы не видите проект… очень ценю ваши советы!

      • 0
  2. Не знаю насчет плагина, но это можно легко сделать с помощью всего двух хуков и функций обратного вызова: Сначала вы добавляете поле реферера в регистрационную форму с помощью register_form хука:

    add_action('register_form','show_reff_field');
    function show_reff_field(){ ?>
        <input id="ref" type="text" tabindex="20" size="25" value= "<?php if (isset($_GET['ref'])){echo $_GET['ref'];} ?>"  name="ref" readonly="readonly"/>
    <?php
    }
    

    Тогда вам просто нужно сохранить его с помощью user_register хука

    add_action('user_register', 'register_refferal');
    
    function register_refferal($user_id) {
       $userdata = array();
       $userdata['ID'] = $user_id;
       wp_update_user($userdata);
       $userdata['ref'] = $_POST['ref'];
    
       if (isset($userdata['ref'])  && !empty($userdata['ref']) && $userdata['ref'] != ""){
            //get reffering user id by his login
            $refuser = get_user_by('login',$userdata['ref']);
            //get current refferial credit that user has
            $current_ref_credit = get_user_meta($refuser->ID, 'ref_credit', true);
            //add credit for the newly created user
            $current_ref_credit[] = $user_id;
            //save the changes
            update_user_meta( $refuser->ID, 'ref_credit', $current_ref_credit);
       }
    }
    

    Итак, все, что осталось сделать, это позволить вашим пользователям делиться реферальной ссылкой:

    http://example.com/wp-login.php?action=register&ref=my_login_name
    

    Итак, если бы мое имя пользователя было «bainternet», то моя реферальная ссылка была бы:

    http://example.com/wp-login.php?action=register&ref=bainternet
    

    и чтобы увидеть, сколько участников находится в нижестоящей структуре пользователей, вот простая функция, которая принимает идентификатор пользователя и возвращает массив идентификаторов пользователей, на которые он ссылался:

    function get_user_downline($user_id){
        return $current_ref_credit = get_user_meta($user_id, 'ref_credit', true);
    }
    

    и его использование просто:

    // to echo count of how many user with ID of 24 as reffered:
    echo count(get_user_downline(24));
    
        // to list the users user with ID of 24 as reffered:
    <ul>
    <?php
        $reffed = get_users(array('orderby' => 'registered', 'include' =>  get_user_downline(24));
        foreach ($blogusers as $user) {
            echo '<li>' . $user->display_name . '</li>';
        }
    ?>
    </ul>
    

    Так что просто скопируйте весь этот код и у вас есть плагин для реферальной системы

    • 0

Оставить ответ

You must login to add an answer.