3ответ(ов) в теме
Shrumi
не в сети 5 лет
На сайте с 14.06.2020
Участник
Тем 1
Сообщения 2
1
14:51

Доброго дня!

Стоит задача, если кто-то неизвестный перешёл по ссылке на страницу, содержащую в адресе определённые слова, его редиректит, т.е. вход туда только авторизованным юзерам.

Нашёл пару примеров, что-то попытался приспособить, но не работает ни через a-fixator ни в хедере.
Если можно, укажите пожалуйста на ошибки, и\или приведите рабочий пример.
И куда его прописывать всё-таки?

global $wp;
$current_url = '';
$secretCategories = '';
$secretCourses = '';

$secretCategories = ('kategorii');
$secretCourses = ('kursy');

function access_granted(){
global wp, wp_parse_url, wp-redirect;

$current_url = home_url(add_query_arg(array($_GET), $wp->request));
$pages = preg_match ( $current_url, $secretCategories or $secretCourses) ;
$parts = wp_parse_url ($pages, PHP_URL_PATH);

if (!is_user_logged_in ()) && (($secretCategories === $parts) or ($secretCourses === $parts)) ) {
wp_redirect('https://page-to-redirect/');

}
}

Или

$needToRedirect = FALSE;
if (strpos($_SERVER['REQUEST_URI'],$secretCategories !== FALSE)) {
$needToRedirect = TRUE;
} elseif (strpos($_SERVER['REQUEST_URI'],$secretCourses !== FALSE)) {
$needToRedirect = TRUE;
}
if ($needToRedirect && !is_user_logged_in ()) {
$location = 'https://page-to-redirect/';
wp_redirect ( $location );
}

0

Fatal error: Uncaught Error: Call to undefined function ads_get_box() in /var/www/www-root/data/www/codeseller.ru/wp-content/themes/codeseller/includes/adv.php:15 Stack trace: #0 /var/www/www-root/data/www/codeseller.ru/wp-includes/class-wp-hook.php(310): add_adv_content_after_first_forum_post('pfm-single-post...', '/var/www/www-ro...') #1 /var/www/www-root/data/www/codeseller.ru/wp-includes/class-wp-hook.php(334): WP_Hook->apply_filters('', Array) #2 /var/www/www-root/data/www/codeseller.ru/wp-includes/plugin.php(517): WP_Hook->do_action(Array) #3 /var/www/www-root/data/www/codeseller.ru/wp-content/plugins/wp-recall/functions/files.php(57): do_action('rcl_include_tem...', 'pfm-single-post...', '/var/www/www-ro...') #4 /var/www/www-root/data/www/codeseller.ru/wp-content/plugins/wp-recall/add-on/prime-forum/functions-templates.php(117): rcl_include_template('pfm-single-post...', '/var/www/www-ro...') #5 /var/www/www-root/data/www/codeseller.ru/wp-content/plugins/wp-recall/add-on/prime-forum/themes/prime-first/templates/pfm in /var/www/www-root/data/www/codeseller.ru/wp-content/themes/codeseller/includes/adv.php on line 15