407 Рrоху Аuth. Rеquirеd - мне надо спросить маму.

Как перенаправлять пользователей на случайный пост

FavoriteLoadingДобавить в избранное
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (43 оценок, среднее: 4,09 из 5)
Загрузка...

Статья опубликована: 13 июля 2015

Как перенаправлять пользователей на случайный пост
Одной из новых функций, которые мы добавили в наш новый дизайн, эта функция называется “знакомства”. При нажатии пользователем на кнопку, происходит перенаправление на случайный пост на сайте. Ранее, мы сделали так, что пользователи не были направлены на страницу, которая будет отображать случайный пост. Было несколько проблем с этим. Одна из которых была в том что пользователь не знал фактический URL страницы. Во время моей сессии, я написал этот фрагмент. Ну короче говоря, в этой статье, мы расскажем, как перенаправлять пользователей на случайный пост.
Откройте ваш файл темы functions.php или создайте пустой файл плагина и вставьте нижеприведенный код:

Вот и все, что Вам надо сделать. Теперь создадим кнопку, со ссылкой на yourdomain.com/random/, а фрагмент выше позаботиться об остальном.

Объяснение фрагмента:

Этот фрагмент сначала добавляет в запрос случайную переменную. Затем он использует template_redirect из WordPress, получает пост случайным образом. Потом делает простой 307 редирект.

Поэтому сниппет использует 307 редирект (временное перенаправление). Браузеры часто кэшируют 302 редирект, который становится известен, как временное перенаправление.

Несколько ошибок с которыми мы столкнулись:

Если у Вас стоит плагин W3 Total Cache и у вас есть кэширование на базу данных, то Вам необходимо применить следующие правила:

/random/
/index.php?random=1

Если вы пользуетесь плагином Yoast’s WordPress SEO, то не используйте флажок  перенаправление сломанных URL иначе наш код не будет работать.

Теперь вы можете создать и изучить кнопки которые есть на нашем сайте.


Читайте также

Добавить комментарий

Войти с помощью: 

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Заполните форму и наш менеджер перезвонит Вам в самое ближайшее время!

badge
Обратный звонок 1
Отправить
galka

Спасибо! Ваша заявка принята

close
galka

Спасибо! Ваша заявка принята

close