Question

I just want send data from wordpress registration of each new user to Emailomat (API here: http://hikaru.cz/doc.htm ). But I don't know JSON and this documentation is not helpfull for me. Can anybody help, please?

<?php
/**
* Used to be the page which displayed the registration form.
*
* This file is no longer used in WordPress and is
* deprecated.
*
* @package WordPress
* @deprecated Use wp_register() to create a registration link instead
*/

require('./wp-load.php');
function register_new_user($user_login, $user_email, $nocomerce='') {
    $errors = new WP_Error();

    $user_login = sanitize_user( $user_login );
    $user_email = apply_filters( 'user_registration_email', $user_email );

    // Check the username
    if ( $user_login == '' )
      $errors->add('empty_username', __('<strong>ERROR</strong>: Please enter a username.'));
    elseif ( !validate_username( $user_login ) ) {
      $errors->add('invalid_username', __('<strong>ERROR</strong>: This username is invalid.  Please enter a valid username.'));
      $user_login = '';
    } elseif ( username_exists( $user_login ) )
      $errors->add('username_exists', __('<strong>ERROR</strong>: This username is already registered, please choose another one.'));

    // Check the e-mail address
    if ($user_email == '') {
      $errors->add('empty_email', __('<strong>ERROR</strong>: Please type your e-mail address.'));
    } elseif ( !is_email( $user_email ) ) {
      $errors->add('invalid_email', __('<strong>ERROR</strong>: The email address isn&#8217;t correct.'));
      $user_email = '';
    } elseif ( email_exists( $user_email ) )
      $errors->add('email_exists', __('<strong>ERROR</strong>: This email is already registered, please choose another one.'));

    do_action('register_post', $user_login, $user_email, $errors);

    $errors = apply_filters( 'registration_errors', $errors );

    if ( $errors->get_error_code() )
    return $errors;

    $user_pass = wp_generate_password();
    $user_id = wp_create_user( $user_login, $user_pass, $user_email, $nocomerce );
    if ( !$user_id ) {
      $errors->add('registerfail', sprintf(__('<strong>ERROR</strong>: Couldn&#8217;t register you... please contact the <a href="mailto:%s">webmaster</a> !'),  get_option('admin_email')));
      return $errors;
    }

    wp_new_user_notification($user_id, $user_pass);

    return $user_id;
}
$registerfile = get_theme_root()."/".get_stylesheet()."/register.php";
if(file_exists($registerfile)) {
  include $registerfile;
}
wp_redirect('wp-register.php?action=register');

?>

What I must doing with this?

Was it helpful?

Solution

JSON is a Javascript Object Notation, that is very easy to use from PHP: For example, if you want to pass some parameters, like the user registration, you can do this:

<script>
    // From PHP
   var data = <?php echo json_encode(array(
       'user_login' => $user_login, 
       'user_email' => $user_email
   )); ?>;

   alert("Hi " + data.user_login + " you email is: " + data.user_email);

</script>

The function 'json_encode' in php convert any object or array into JSON as string what you after can read from your JS script. I hope that it help you.

"Sorry for my english"

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top