Как проверить посетителя, который переходит на перенаправленный URL-адрес загрузки для регистрации wp? - PullRequest
0 голосов
/ 15 мая 2019

Я пытаюсь установить посредник, который проверяет, вошел ли посетитель на наш сайт WordPress, прежде чем получить доступ к ссылке для перенаправления загрузки.И если пользователь не вошел в систему, не разрешайте доступ к этому URL.На нашем веб-сайте есть внешние URL-адреса прямой загрузки, которые перенаправляются по правилу htaccess с http://www.ourwebsite.com/resources url.

Я пробовал этот код, но он не работал.Я поместил его в functions.php:

require('../wp-load.php');  // modify to reflect where your PHP file is in relation to Wordpress
$roles = wp_get_current_user()->roles;  // get current users role

if (!in_array('alloweduserrole',$roles)) {  // modify to match your roles that are allowed to download

    header('Location: http://www.ourwebsite.com/');
    exit;

}  // end of if user does not have the proper role

Я не смог найти ни одного php-файла для этого.Добавлен код выше, но ничего не произошло.Ничего не изменилось.Может быть, я должен выбрать другой файл php, кроме wp-load.php?

1 Ответ

0 голосов
/ 15 мая 2019

Что я понял из вашего требования о том, что вы хотите проверить состояние входа в систему на сайте WordPress, а если нет, вы перенаправляете пользователя на другой URL, верно? Поправьте меня если я ошибаюсь. Так что если вы проверяете внутри темы functions.php, нет необходимости require('../wp-load.php');

Вы можете использовать приведенный ниже фрагмент кода:

add_action("init", "check_user");
function check_user() {
  if (! is_user_logged_in()) {
    wp_redirect("your redirect url", 301);
    //You can skip the 301, if the url is not a external link
    exit;
  }
}

}

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