gpt4 book ai didi

php - 同时登录两个 wordpress 博客

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:43:34 29 4
gpt4 key购买 nike

我遇到了一个小问题,因为我目前正在尝试以编程方式同时登录两个 wordpress 博客。我有一个自定义登录页面,必须为两个 wordpress 博客创建 session 。一个博客工作得很好,但因为我必须包含另一个 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;
}
}
...

并且正在被调用:类::blogLogin(...);类::secondBlogLogin(...);这似乎不起作用,因为 include 不仅在函数内部“沙盒化”,而且在外部也可用。有没有办法在一个脚本中关闭包含或以其他方式在两个 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 );
}
}
}
?>

关于php - 同时登录两个 wordpress 博客,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41700885/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com