Функция Wordpress - is_user_logged_in () всегда возвращает false - PullRequest
0 голосов
/ 07 мая 2020

Я настроил свой файл htaccess для перенаправления на сценарий PHP, когда пользователи пытаются получить доступ к /wp-content/uploads/2020/05/test.pdf. Скрипт PHP находится в моем каталоге root. Редирект работает нормально. В сценарии у меня есть следующий код:

require_once('wp-load.php');

if (is_user_logged_in()) {
    wp_redirect('https://mywesbite.com/page1/');
    exit;
} else {
    wp_redirect('https://mywesbite.com/page2/');
    exit;
} 

Я тестировал это на нескольких разных веб-сайтах Wordpress, и на двух из них он работает должным образом. Если пользователь вошел в систему, он будет go на странице 1. Однако на веб-сайте, на котором он мне нужен, он всегда переводит их на page2. Я пробовал деактивировать все плагины и изменить тему на ту же, что и на веб-сайтах, с которыми работает код. По-прежнему не работает. Это заставляет меня думать, что это как-то связано с настройкой сервера. Он находится на управляемом WordPress через GoDaddy. Возможно ли, что какая-то конфигурация сервера мешает ему работать правильно, как и другие веб-сайты? Это единственное различие, которое я могу придумать.

1 Ответ

0 голосов
/ 13 мая 2020

Я обнаружил, что логин ie не распознается в сценарии PHP. Я подозреваю, что это как-то связано с настройкой сервера, но не смог определить проблему.

Однако я нашел обходной путь. Вместо того, чтобы располагать сценарий в каталоге root, вы можете создать файл шаблона в своей дочерней теме и разместить там сценарий. Затем укажите точку перенаправления на страницу, которую вы создаете с помощью шаблона. После того, как я внес это изменение, все заработало, как ожидалось.

<?php
/**
 * Template Name: Redirect Template
 *
 */

if (is_user_logged_in()) {
    wp_redirect('https://mywesbite.com/page1/');
    exit;
} else {
    wp_redirect('https://mywesbite.com/page2/');
    exit;
}

?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...