У меня есть шаблон в моей (WordPress) папке дочерней темы для пользовательского типа сообщения, который я создал. Это выглядит так:
<head>
…
<style>
…
</style>
<script>
…
</script>
</head>
<header>
…
</header>
<?php
…
?>
<div id="content">
<?php xx_page_header($post->ID); ?>
…
</div>
<?php get_footer(); ?>
Это именно так, как это структурировано. Я говорю это потому, что я новичок в php, и если кто-то захочет мне помочь, то мне больше всего понадобится точный Информация где точно поместить фрагменты кода (которые, в конце концов, будут выглядеть простыми и маленькими, я думаю).
У меня есть 4 страницы, которые основаны на этой странице шаблона. Все они работают хорошо.
Вот что я должен добавить:
Страницы сменяют друг друга, содержащие входные формы и т. Д., И по ним переходят формы, что-то вроде фильтрация процесс.
Как я могу поставить перед шаблоном проверку реферера? Чтобы страницы продолжали работать, НО, если кто-то скопирует одну из ссылок и вставит ее в другое окно браузера, он всегда будет перенаправлен на первый страница из них вместо того, чтобы видеть страницу фактической ссылки.
Я провел несколько исследований настолько хорошо, насколько смог, и нашел несколько предметов, которые хотел бы использовать. Как для:
1) Реферирующая часть:
<?php
$ref=getenv("HTTP_REFERER");
$url='url_redirect';
if($ref!='referer_url'){
header('Location: '.$url);
}
?>
2) регулярное выражение, чтобы оно работало для всех страниц, которые используют шаблон:
ref.match(/^http?:\/\/([^\/]+\.)?mywebpage\.com(\/|$)/i)
Скажем (фильтрация) стартовая страница: www.mywebpage.com/startpage/
Как мне объединить эти фрагменты и куда их поместить (наверное, в начале шаблона)?
Я хотел бы избежать куки. (с помощью реферера)
Технически, вы можете сделать что-то похожее на код ниже. Каждая из ваших страниц после начальной страницы должна иметь уникальные URL-адреса и токен, который передается на каждой странице. Вам нужно разместить этот код в самом верху вашего шаблона.
Что-то похожее:
<?php
$url='url_redirect';
if((is_page('template2') || is_page('template3') || is_page('template4')) && $_POST['token'] == '') {
header('Location: '.$url);
}
?>
Других решений пока нет …