私は深刻な問題で立ち往生しています。ユーザーログイン後にフロントエンドからドキュメントを作成してWordドキュメントをアップロードします。ログインユーザーはadminです。プラグインbp-docはWordPressのデフォルトのメディアアップローダーを使ってファイルをアップロードします。
プラグインは.../wp-admin/async-upload.php
をヒットします、しかしこれは私がAn error occurred in the upload. Please try again later
エラーを見つけたコンソールでデバッグした後にエラー302 Moved Temporarily
を投げますそしてそれに応じてWordPressログインフォームがあります。
いくつかの調査をした後、フロントエンドから管理者としてログインしてwp-admin
に戻ると、別のエラーが見つかりました。ログアウトして、もう一度ユーザー名とパスワードの入力を求めます。
私はエラーを通過することができません、だれでも私がうまくいかないかもしれないものを手伝うことができますか?
私はログインするために次のコードを使います
$user_data = array();
$user_data['user_login'] = $username;
$user_data['user_password'] = $password;
$user_data['remember'] = $remember;
$user = wp_signon( $user_data, false );
if ( is_wp_error($user) ) {
$err = "<strong>ERROR!</strong> Invalid username or password";
}
else {
wp_set_current_user( $user->ID);
do_action('set_current_user');
global $current_user;
get_currentuserinfo();
$redirect_to = home_url().'/members/'.$current_user->user_login.'/profile';
wp_redirect($redirect_to);
exit;
}
ライブサイトのURL: https://www.group50.com/g50consultants
wp_signon()
の2番目の引数をtrue
または空白に設定してみましたか? falseを設定すると、sslを使用している場合、wp_signon()
がwp-admin
にアクセスするために不可欠なセキュアcookieを設定できなくなります。私はテストし、$user = wp_signon( $user_data, true );
は期待通りに動作します。
ログイン後にhttpsからhttpに切り替えた場合は、このプラグインを試してみることができます https://wordpress.org/plugins/https-redirection/ wodpressの設定でhttp:// ...からhttps:// ....への私のサイトのURL。
私はあなたがこれらの行であなたのコードを単純化できることがわかります:
else {
$redirect_to = home_url().'/members/'.$user->user_login.'/profile';
wp_redirect($redirect_to);
exit;
}
Wp_signon関数を使用してすべてのセッションを作成し、現在のユーザー関数を埋めます。