简体   繁体   English

如何从Wordpress添加和登录CakePHP用户?

[英]How do I add and log in CakePHP users from Wordpress?

I'm using CakePHP 2.x and Wordpress 4.0. 我正在使用CakePHP 2.x和Wordpress 4.0。

I want to make Wordpress users automatically from CakePHP users: If a user signs up in CakePHP, then CakePHP instantly inserts the user data into the Wordpress database. 我想从CakePHP用户中自动使Wordpress用户:如果用户注册CakePHP,则CakePHP立即将用户数据插入Wordpress数据库。 Users who log in to CakePHP should be automatically logged in to the Wordpress blog. 登录CakePHP的用户应自动登录到Wordpress博客。

See the below code, which i am using in my UsersController in CakePHP 2.x: 请参见下面的代码,该代码在CakePHP 2.x的UsersController中使用:

include_once($_SERVER['DOCUMENT_ROOT'].'/mycakephpsite/blog/wp-config.php');
include_once($_SERVER['DOCUMENT_ROOT'].'/mycakephpsite/blog/wp-load.php');
include_once($_SERVER['DOCUMENT_ROOT'].'/mycakephpsite/blog/wp-includes/wp-db.php');
App::uses('AppController', 'Controller');
/**
 * Users Controller
 *
 * @property User $User
 */
class UsersController extends AppController {
public function signup() {
    $this->layout = '';
    if ($this->request->is('post')) {

        $this->User->create();
        $this->User->set($this->request->data['User'] );
        $this->request->data['User']['group_id'] = 4;
        $this->request->data['User']['status'] = 1;
        $success = array();
        if ($this->User->validates()){
            if ($this->User->save($this->request->data)) {


                //create blog user for this user

                $website = "http://";

                $userdata = array(
                    'user_login'  =>  'login_name',
                    'user_url'    =>  $website,
                    'user_pass'   =>  $this->data['User']['password'],  // When creating an user, `user_pass` is expected.
                    'user_email'   =>  $this->data['User']['email'],  // When creating an user, `user_pass` is expected.
                    'user_nicename'   =>  $this->data['User']['name'],
                    'display_name' => $this->data['User']['name']
                );

                wp_insert_user( $userdata ) ;


                $success['success'] = 'success';
                echo json_encode($success);
                exit();

            }else{
               //$this->Session->setFlash(__('The user could not be saved. Please, try again.'));

               $success['failed'] = 'failed';
               echo json_encode($success);
               exit();
            }
        }else{

            $errors = $this->validateErrors($this->User);
            //$success['error'] = "error";
            $success = $errors;

            echo json_encode($success);
            exit();

        }
    }
    }
}

if ($this->User->save($this->request->data)) {

if ($this->User->save($this->request->data())) { 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM