• Решил попрактиковаться в написании шаблонов, столкнулся с такой проблемой: записи у меня по клику подгружаются аяксом и отображаются в magnific popup, проблема в том, что при моем подходе невозможно отправить кому-то ссылку на запись — адрес сайта при кликах не изменяется. Пока что я решил проблему добавлением #post-ID в строку адреса и обработку на JS, но хотелось бы реализовать открытие записи в лайтбоксе при переходе по реальной ссылке на пост. Как это можно реализовать?

Просмотр 3 ответов — с 1 по 3 (всего 3)
  • Модератор Denis Yanchevskiy

    (@denisco)

    WordPress-разработчик, denisco.pro

    Смотрите в сторону History API.

    Это не совсем то. Функцию, которая подпихивает адрес записи в адресную строку без перезагрузки я реализовал. Проблема в том, что если открыть запись — ссылка попала в адресную строку — а потом обновить страницу, то загрузится уже отдельная запись без модального окна и т.д., т.е. как обычный переход. Мне нужно на стороне WP как то изменить обработку запросов — чтоб если запрашивается какая-либо запись по адресу site.ru/10/12/2016/Запись/ — то загрузить шаблон главной страницы, а в модальном окне открыть запись по запрошенному адресу.

    Модератор Denis Yanchevskiy

    (@denisco)

    WordPress-разработчик, denisco.pro

    Мне нужно на стороне WP как то изменить обработку запросов — чтоб если запрашивается какая-либо запись по адресу site.ru/10/12/2016/Запись/ — то загрузить шаблон главной страницы, а в модальном окне открыть запись по запрошенному адресу.

    Если удалить шаблон single.php, то будет использоваться шаблон index.php, в котором Вы сможете определить отображается ли главная страница или страница записи, вывести её содержимое в верстку всплывающего окна с указанием автоматического открытия при загрузке страницы.

    Мне кажется, нечто подобное реализовывал как-то давно, но, увы, подробностей уже не помню и код, видимо, тоже уже канул в лету :(.

Просмотр 3 ответов — с 1 по 3 (всего 3)
  • Тема «Как перехватывать адреса для вывода в попап?» закрыта для новых ответов.