Dio*_*ion 5 php wordpress login
我正在磕磕绊绊地遇到一个小问题,因为我正在尝试以编程方式一次登录两个wordpress博客.我有一个自定义登录页面,并且必须创建两个wordpress博客的会话.一个博客工作正常,但因为我必须包含另一个博客wp-load.php它不适用于第二个...我的代码到目前为止:
...
public static function blogLogin($mail, $password) {
require __DIR__ . '/../blog/wp-load.php';
$wpuser = get_user_by('email', $mail);
if (!$wpuser) $wpuser = get_user_by('login', $mail);
if (!empty($wpuser) && !empty($wpuser->ID)) {
wp_set_auth_cookie($wpuser->ID, true);
return true;
} else {
return false;
}
}
public static function secondBlogLogin($mail, $password) {
require __DIR__ . '/../secondblog/wp-load.php';
$wpuser = get_user_by('email', $mail);
if (!$wpuser) $wpuser = get_user_by('login', $mail);
if (!empty($wpuser) && !empty($wpuser->ID)) {
wp_set_auth_cookie($wpuser->ID, true);
return true;
} else {
return false;
}
}
...
Run Code Online (Sandbox Code Playgroud)
并且被调用:
Class::blogLogin(...); Class::secondBlogLogin(...);
这似乎不起作用,因为包含不仅在功能内部"沙盒化",而且在外部可用.是否有办法在一个脚本中的两个wordpress博客中实现包含或其他方式来实现此登录?
下面的答案是在单个自定义登录页面的一次执行期间启用两个单词按下的登录。
//Your form which contain custom login (email,password).
<?php
//afer submit form post login credential value into PHP code of first file.
if(isset($_POST) && isset($_POST['submit'])){
require("path of first wordpress root directory \wp-load.php");
if ( is_user_logged_in() ) {
$user = wp_get_current_user();
} else {
$creds = array();
// Use the submited information to populate the user_login & user_password
$creds['user_login'] = $_POST['username or email'];
$creds['user_password'] = $_POST['password'];
$creds['remember'] = true;
$user = wp_signon( $creds, false );
if ( is_wp_error( $user ) ) {
echo $user->get_error_message();
} else {
wp_set_auth_cookie( $user->ID, true );
}
?>
<script src="http://code.jquery.com/jquery-1.11.0.min.js"></script>
<script type="text/javascript">
var url = 'url/first-blog-login.php';
var user = '<?php echo $_POST['username or email'];?>';
var password = '<?php echo $_POST['password'];?>';
$.ajax({
type: "POST",
url: url,
data: {
'user':user,
'password':password
},
success: function(){
alert("detail passed successfully.");
}
});
</script>
<?php
}
}
if(isset($_POST) && !empty($_POST)){
$user = $_POST['user'];
$password = $_POST['password'];
require("path of secound wordpress root directory\wp-load.php");
if ( is_user_logged_in() ) {
$user = wp_get_current_user();
} else {
$creds= array();
// Use the submited information to populate the user_login & user_password
$creds['user_login'] = $user;
$creds['user_password'] = $password;
$creds['remember'] = true;
$user = wp_signon( $creds, false );
if ( is_wp_error( $user ) ) {
echo $user->get_error_message();
} else {
wp_set_auth_cookie( $user->ID, true );
}
}
}
?>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
124 次 |
| 最近记录: |