WordPress как на ладони
rgbcode is looking for WordPress developers. eurobyte.ru - мощные сервера с Дата-центрами в Нидерландах и Москве. От 159 ₽/мес.

Реферал регистрация

Подскажите как лучше сделать реферал систему.

Когда пользователей переходит по ссылки (/pf.php/ref=' . $author->ID .) и регистрируется,
пользователь у которого использовалась ссылка ему добавлялся реферал +1 в мета поле ($user_info->refuser).

Как определить по какой ссылки регистрация была?
Как добавлять в мета поле эти денные.

Заметки к вопросу:
pfilan 8 месяцев назад
// Hook into user registration
add_action( 'user_register', 'update_refuser_field' );

function update_refuser_field( $user_id ) {
	// Get the ref parameter from the URL
	$ref = $_GET['ref'];

	// Check if ref parameter is set and not empty
	if ( isset( $ref ) && ! empty( $ref ) ) {
		// Get the user info based on the ref parameter
		$author = get_user_by( 'ID', $ref );

		// Check if user info exists
		if ( $author ) {
			// Get the refuser value from user meta
			$refuser = get_user_meta( $author->ID, 'refuser', true );

			// Increment the refuser value by 1
			$refuser++;

			// Update the refuser value in user meta
			update_user_meta( $author->ID, 'refuser', $refuser );
		}
	}
}

// Генерируем ссылку на страницу регистрации с параметром ref
$registration_link = home_url( '/pf.php?action=register&ref=' . get_current_user_id() );

echo '<a href="' . $registration_link . '">Ссылка на страницу регистрации</a>';
pfilan 8 месяцев назад

но не добавляет в $user_info->refuser + 1 sad

0
pfilan
8 месяцев назад 24
  • 0
    el-lable620 el-lable.ru

    1) Юзверг заходит на сайт по реферальной ссылке с ?ref={author_id}
    2) На хуке(например - init) цепляем на него куку myref={author_id} и сразу редиректим(!) его на страницу регистрации
    3) после регистрации на хуке проверяем нет ли у него этой куки myref={author_id}, если она есть то добавляем(обновляем) в некое метаполе автора 'ref_user_ids' массив с id юзвергов которые регистрировались по этой рефералке, гасим куку myref у этого юзверга.

    На выхлопе у автора в метаполе 'ref_user_ids' будет массив айдишек которые зарегались по его рефералу.

    Вообще по хорошему {author_id} лучше не использовать, а юзать некий MD5 ключ {author_key} и хранить его в еще одном поле автора и по нему искать автора в системе.

    Комментировать
  • 0
    kolshix779 paxtoy.com

    4) еще IP прикрутить можно.

    кого интересует зачем ?
    Я иногда по рефералке хожу в режиме инкогнито, чтоб меня отловить:

    смотрим есть ли у юзера ?ref, если есть пишем кукисы и (на 20мин к примеру) запоминаем IP к этим кукисам на стороне сайта.

    а вот когда уже регистрация будет, тогда уже и сравниваем из кукисов author_key, а если нет можно и IP список проверить, был ли с такого переход и какому author_key присвоен этот IP
    --

    а вообще тут двоякая ситуёвина, может это только усложнение

    el-lable 8 месяцев назад

    Если юзверг заходит по рефералке в режиме инкогнито, то он 100% регаться не собирается ни с рефом ни без него.
    А по айпи это как-то ослеживать - самый дырявый вариант, те же ципсошные тролли сидят под одними и теми же IP впн-ок.

    Комментировать
На вопросы могут отвечать только зарегистрированные пользователи. Вход . Регистрация