Модальное окно авторизации в Wordpress не работает на https

flash12320
На сайте с 29.02.2016
Offline
74
251

Есть код для авторизации через модальное окно на Вордпресе, но по протоколу https не хочет работать корректно.

При попытке входа через модальное окно подгружается меню админки (черная полоска сверху сайта), далее если переходишь в консоль админки происходит сброс и редирект на https://site.ru/wp-login.php?redirect_to=https://site/wp-admin/reauth=1


Без протокола https все идеально работает.

Ниже код и прикрепленный файл js:

header.php

<div class="popup-fade">
        <div class="popup">
                <a class="popup-close" href="#">Закрыть</a>
<div class="gclose" style="display: xxnone;">
<form id="login" action="login" method="post">
    <label for="Личный кабинет">Войти в личный кабинет</label>
    <input id="username" type="text" name="username" placeholder="Login">
    <input id="password" type="password" name="password" placeholder="Password:">
    <a class="lost" href="<?php echo wp_lostpassword_url(); ?>">Восстановить пароль?</a>
    <input class="submit_button" type="submit" value="Login" name="submit">
    <?php wp_nonce_field( 'ajax-login-nonce', 'security' ); ?>
<style>form#login {display: flex;flex-direction: column;}input#username {width: 100%;}</style>
</form>
</div>
</div>
</div>

<style>
.popup-fade{display:none}.popup-fade:before{content:'';background:#000;position:fixed;left:0;top:0;width:100%;height:100%;opacity:.8;z-index:9999}.popup{position:fixed;top:20%;left:50%;padding:20px;width:360px;margin-left:-200px;background:#fff;border:1px solid orange;border-radius:4px;z-index:99999;opacity:1}.popup-close{position:absolute;top:10px;right:10px}
}
</style>
<script>
$(document).ready(function(p){p(".popup-open").click(function(){return p(".popup-fade").fadeIn(),!1}),p(".popup-close").click(function(){return p(this).parents(".popup-fade").fadeOut(),!1}),p(document).keydown(function(e){27===e.keyCode&&(e.stopPropagation(),p(".popup-fade").fadeOut())}),p(".popup-fade").click(function(e){0==p(e.target).closest(".popup").length&&p(this).fadeOut()})});
</script>

в functions.php

//add this within functions.php
function ajax_login_init(){
    wp_register_script('ajax-login-script', get_template_directory_uri() . '/ajax-login-script.js', array('jquery') );
    wp_enqueue_script('ajax-login-script');
    wp_localize_script( 'ajax-login-script', 'ajax_login_object', array(
        'ajaxurl' => admin_url( 'admin-ajax.php' ),
        'redirecturl' => home_url(),
        'loadingmessage' => __('Sending user info, please wait...')
    ));
    // Enable the user with no privileges to run ajax_login() in AJAX
    add_action( 'wp_ajax_nopriv_ajaxlogin', 'ajax_login' );
}
// Execute the action only if the user isn't logged in
if (!is_user_logged_in()) {
    add_action('init', 'ajax_login_init');
}
function ajax_login(){
    // First check the nonce, if it fails the function will break
    check_ajax_referer( 'ajax-login-nonce', 'security' );
    // Nonce is checked, get the POST data and sign user on
    $info = array();
    $info['user_login'] = $_POST['username'];
    $info['user_password'] = $_POST['password'];
    $info['remember'] = true;
    $user_signon = wp_signon( $info, false );
    if ( is_wp_error($user_signon) ){
        echo json_encode(array('loggedin'=>false, 'message'=>__('Wrong username or password.')));
    } else {
        echo json_encode(array('loggedin'=>true, 'message'=>__('Login successful, redirecting...')));
    }
    die();
}

Кто подскажет, как доработать код или найти ошибку?

Грешу на некорректную работу admin-ajax.php но понять что и как не могу)

W1
На сайте с 22.01.2021
Offline
306
#1
Да наверняка где-то в настройках или в коде остался жёсткий адрес с http://.
Мой форум - https://webinfo.guru –Там я всегда на связи
flash12320
На сайте с 29.02.2016
Offline
74
#2
webinfo #:
Да наверняка где-то в настройках или в коде остался жёсткий адрес с http://.

Браузер в режиме проверки вроде показывает все ок

LEOnidUKG
На сайте с 25.11.2006
Offline
1762
#3

Я так понимаю был переезд с http на https?

В БД везде меняли httpS? 

Сайт случаем CloudFlare не защищён или другой DDOS защитой?

Пробовали тестировать в анонимной вкладке?

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/ ✅ Настройка и оптимизация серверов https://getmanyspeed.ru/
flash12320
На сайте с 29.02.2016
Offline
74
#4
Да уже все перепробовал) 

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий