BuggyBuggy
@BuggyBuggy

Почему ограничивается функционал для неавторизоных пользователей?

Дали сайт на Вордпрессе, на котором надо вставить картинки с fancybox на страницу. На сайте установлен какой-то плагин с шорткодами. Вставляю на странице шорткод "Галерея". Всё нормально работает, картинки открываются, даже листаются туда-сюда, НО только для авторизованных пользователей. Стоит выйти из админки в этом браузере, и эффект fancybox перестаёт работать. Т.е. картинки просто открываются обычным образом во весь экран в том же окне. Авторизуюсь, и опять у меня всё работает. Проверено в Мозилле и Хроме - поведение одинаковое.

UPD: С кешем, думаю, не связано, т.к. заходил в Хром, не авторизованным - не работало. Авторизовался, и оно начинало работать. Откуда Хром мог знать, что надо показывать, если он не был на сайте в тот момент, когда это работало? Делал я это всё в Мозилле.

UPD2: Сделал fancybox через плагин "FancyBox for WordPress", т.е. вручную прописал каждой ссылке на картинку класс fancybox безо всяких шорткодов и диалоговых окон плагинов. То же самое. Пробовал остальные плагины - не работает. Какой-то блок на fancybox!
  • Вопрос задан
  • 107 просмотров
Решения вопроса 1
BuggyBuggy
@BuggyBuggy Автор вопроса
На форуме ВордПресса мне дали такой ответ:
---------------------------
впрочем, проблема ясна — ваша тема подрубает jquery из cdn вместо родной библиотеки из дистрибутива движка:

<script src="https://code.jquery.com/jquery-1.9.1.min.js"
integrity="sha256-wS9gmOZBqsqWxgIVgA8Y9WcQOa7PgSIX+rPA0VL2rbQ="
crossorigin="anonymous"></script>


а плагины wordpress поголовно работают именно с родной библиотекой и обращаются к скриптам через jQuery, а не через $. когда пользователь авторизован — wordpress грузит свою версию jquery ради админ-бара и скрипты fancybox работают. а без авторизации работает ваша версию jquery из cdn и fancybox не работает.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
azerphoenix
@azerphoenix
Java Software Engineer
Здравствуйте!
Не факт, что проблема именно в ограничении функционала...
Что если тут дело в кэше? Авторизуясь в админке вы просматриваете некэшированную версию сайта, а выходя - видите кэшированную версию.

Проверьте наличие плагинов кэширование на сайте (Fastest Cache, Super Cache, W3 Total Cache, PageSpeed Ninja), если они есть очистите кэш. Также очистите кэш браузера.
Также, если сайт подключен к CDN, то почистите кэш на стороне CDN (например, Cloudflare - Cache - Purge Everything).

Не думаю, что в fancybox сделали ограничение прав... но на всякий случай гляньте в настройки плагина...
Ответ написан
Punkie
@Punkie
UPD: С кешем, думаю, не связано, т.к. заходил в Хром, не авторизованным - не работало. Авторизовался, и оно начинало работать. Откуда Хром мог знать, что надо показывать, если он не был на сайте в тот момент, когда это работало? Делал я это всё в Мозилле.


-- Оттуда, что у вас может быть установлен кеширущий плагин в wordpress, который генерирует статический html-кеш, который и отдает бразуерам без авторизации. Проверьте наличии кеширующего плагина в админке вордпресса и почистите в нём кеш.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы