[英]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.