habibjutt
1/8/2016 - 11:03 AM

wp ajax sample code.php

$("body").delegate(".create-btn", "click", function (event){
            event.preventDefault();
            var new_user_email = $(".create-new-user").val();
            var new_user_name = $(".create-new-user-name").val();
            console.log(new_user_email);
            console.log(new_user_name);
            $.ajax({
                type: "POST",
                url: wagnermeters_create_new_user.ajax_action,
                data: {
                    "action": 'create_new_user_ajax',
                    "new_user_email": new_user_email,
                    "new_user_name" : new_user_name,
                    "security": wagnermeters_create_new_user.nonce
                },
                success: function (response){
                    var response = JSON.parse(response);
                    if(response.success == 1) {
                        alert("Congrats : User Created Successfully..!");
                    } 
                    else if(response.success == 2) {
                        alert("Sorry : User already exists with this email or username..!");
                    }
                    else if(response.success == 0) {
                        alert("Sorry : Any of the field is empty..!");
                    }
                }
            })
        });
add_action('wp_ajax_create_new_user_ajax', array($this, 'create_new_user_ajax'));
$this->include_scripts();
    public function include_scripts() {

        wp_enqueue_script('wmsac_main', WAGNERMETERS_PLUGIN_URL . '/js/wmsac-main.js', array('jquery'));

        /*
         * CREATE NEW USER AJAX PARAMETERS
         */

        $wagnermeters_create_new_user = array(
            'ajax_action' => admin_url('admin-ajax.php'),
            'nonce' => wp_create_nonce("create-new-user")
        );
        
        wp_localize_script('wmsac_main', 'wagnermeters_create_new_user', $wagnermeters_create_new_user);
    }
    
        public function create_new_user_ajax() {

        $this->response['success'] = 0;
        check_ajax_referer('create-new-user', 'security');

        $new_user_email = woocommerce_clean(urldecode(stripslashes($_POST['new_user_email'])));
        $new_user_name = woocommerce_clean(urldecode(stripslashes($_POST['new_user_name'])));

        if ($new_user_email == null || empty($new_user_email) || $new_user_name == null || empty($new_user_name)) {

            die(json_encode($this->response));
        } else {

            $user_id = username_exists($new_user_name);

            if (!$user_id && email_exists($new_user_email) == false) {

                $random_password = wp_generate_password($length = 12, $include_standard_special_chars = false);
                $user_id = wp_create_user($new_user_name, $random_password, $new_user_email);
                $this->response['success'] = 1;
                wp_mail($new_user_email, 'welcome to wagnermeters', 'Your email is : '
                        . $new_user_email . "<br> Your username : " . $new_user_name
                        . "<br> Password : " . $random_password . "<br>Thank You");
            } else {

                $random_password = __('User already exists.  Password inherited.');
                $this->response['success'] = 2;
            }
        }

        echo json_encode($this->response);
        die();
    }