У меня есть страница, запускаемая плагином javascript, который меняет URL-адрес каждый раз, когда выполняется скольжение в галерее.
Это означает, что пока слайд 1 отображается, URL-адрес: http://www.sitename.com/gallery/slide1/
а во время просмотра слайда 2 URL-адрес: http://www.sitename.com/gallery/slide2/
… и так далее.
Вне WordPress я использовал команду RewriteBase в файле .htaccess, чтобы сделать это так, что когда пользователь перейдет на страницу http://www.sitename.com/gallery/slide2/
они будут направлены на страницу, где отображается слайд 2 ,
Однако я не могу найти способ сделать это в WordPress. Есть ли способ передать эту информацию как переменную без использования формата, например http://www.sitename.com/gallery?slide=slide2
Используемый мной сценарий:
// change url - unless IE8 because IE8 hates life if ($.browser.msie && $.browser.version < 9) {} else { $histimg = img.name.toLowerCase(); var stateObj = { foo: "bar" }; history.replaceState(stateObj, "", pathname + imageprefix + $histimg + "/"); }
Затем, когда ссылка принимается, я запускаю ее, чтобы узнать, какой план отобразить:
patharr = location.pathname.split("/").reverse(); //Get the URL of the page result = patharr[1]; // Get the Slide Number $('#xmenu button[data-index="' + result + '"]').trigger("click"); }
ПРИМЕЧАНИЕ. Я не хочу этого делать с помощью плагина или взломать файлы непосредственно внутри установки WordPress. Это часть темы и должна содержаться в теме.
Это не даст вам именно этот формат, но вы можете добавить конечную точку перезаписи с именем slide
и получить формат http://www.sitename.com/gallery/slide/2/
:
function wpd_add_slide_endpoint(){ add_rewrite_endpoint( 'slide', EP_PAGES ); } add_action( 'init', 'wpd_add_slide_endpoint' );
Затем вы можете локализовать свой скрипт, чтобы передать номер слайда, используя get_query_var('slide')
чтобы извлечь текущее значение.