Зарегистрируйте пользователя WordPress через форму Unbounce

Извиняюсь заранее за новичок в этом вопросе …

Я пытаюсь передать письмо, захваченное с помощью формы целевой страницы Unbounce, в WordPress и программно зарегистрировать нового пользователя WordPress.

Это установка на данный момент:

  1. Отказаться от целевой страницы (get.slideheroes.com/testing)
  2. Передача адреса электронной почты через «данные формы публикации на URL»
  3. Целевой URL https://www.slideheroes.com/newuser.php
  4. PHP (в newuser.php) код выглядит следующим образом:

    if( null == username_exists( $email ) ) {
    
    // Generate the password and create the user
    $password = wp_generate_password( 12, false );
    $user_id = wp_create_user( $email, $password, $email );
    
    // Set the nickname
    wp_update_user(
    array(
    'ID'          =>    $user_id,
    'nickname'    =>    'Trial User'
    )
    );
    
    // Set the role
    $user = new WP_User( $user_id );
    $user->set_role( 'contributor' );
    
    // Email the user
    wp_mail( $email, 'Welcome!', 'Your Password: ' . $password );
    
    } // end if
    

Любые предложения относительно того, что (возможно, много вещей), что я делаю неправильно?

0

Решение

Чтобы это работало, вы должны включить wp-load.php и установить переменную $ email с опубликованным значением:

require_once('/path/to/wp-load.php');

$email = $_POST['email']; // maybe some extra validation if needed

if( null == username_exists( $email ) ) {

// Generate the password and create the user
$password = wp_generate_password( 12, false );
$user_id = wp_create_user( $email, $password, $email );

// Set the nickname
wp_update_user(
array(
'ID'          =>    $user_id,
'nickname'    =>    'Trial User'
)
);

// Set the role
$user = new WP_User( $user_id );
$user->set_role( 'contributor' );

// Email the user
wp_mail( $email, 'Welcome!', 'Your Password: ' . $password );

} // end if
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]