Навигация по блогу на любой вкус
Теперь можно переключаться между постраничной (через плагин pagenavi) и обычной навигацией (“вперед-назад”). Так как я предчувствую что будут меня об этом спрашивать, пишу как сделано у меня:
В нужном месте темы вместо старого кода навигации вставляем это:
<div id="navigate1" style="display: none;">
<p align="center"><?php if(function_exists('wp_pagenavi')) { wp_pagenavi(); } ?><br /> </p>
</div>
<div id="navigate2" style="display: none;">
<p align="center"><?php posts_nav_link(' - ','« Вперед в будущее','Назад в прошлое »') ?> </p>
</div>
<p align="center"><a id="navswitch" href="#nav" onclick="toggleIcons();return false;">навигация</a></p>
<script>setIcons();</script>
Также создаем файл скрипта, например у меня это nav.js и размещаем где то на сервере. Прописываем путь к скрипту в файле header.php вашей темы, например так:
<script language="Javascript" type="text/javascript" src="/nav.js"></script>
с таким содержанием:
function getCookie(name)
{
var prefix = name + "="
var cookieStartIndex = document.cookie.indexOf(prefix)
if (cookieStartIndex == -1)
return null
var cookieEndIndex = document.cookie.indexOf(";", cookieStartIndex +
prefix.length)
if (cookieEndIndex == -1)
cookieEndIndex = document.cookie.length
return unescape(document.cookie.substring(cookieStartIndex +
prefix.length,
cookieEndIndex))
}
function setCookie(name, value)
{
var argv = setCookie.arguments;
var argc = setCookie.arguments.length;
var expires = new Date();
expires.setTime(expires.getTime() + (24 * 60 * 60 * 1000 * 365));
var path="/";
var domain=null;
var secure=false;
argc=argc-2;
if (argc!=-1)
if (argc!=0)
{
expires=argv[2]; argc--;
if (argc!=0)
{
path=argv[3]; argc--;
if (argc!=0)
{
domian=argv[4]; argc--;
if (argc!=0) secure=argv[5];
};
};
};
document.cookie = name + "=" + escape(value) +
((expires == null)? "": ("; expires=" + expires.toGMTString())) +
((path == null)? "": ("; path=" + path)) +
((domain == null)? "": ("; domain=" + domain)) +
((secure == true)? "; secure": "");
}
function toggleIcons()
{
tobj=document.getElementById('navigate1');
tobj2=document.getElementById('navigate2');
lnkobj=document.getElementById('navswitch');
if (tobj.style.display!='none')
{setCookie('inline2','yes');tobj.style.display='none';tobj2.style.display='';lnkobj.innerHTML='изменить вид навигации';}
else
{setCookie('inline2','no');tobj.style.display='';tobj2.style.display='none';lnkobj.innerHTML='изменить вид навигации';};
return false;
}
function setIcons()
{
tobj=document.getElementById('navigate1');
tobj2=document.getElementById('navigate2');
lnkobj=document.getElementById('navswitch');
if(getCookie('inline2')!='yes') {tobj.style.display='';tobj2.style.display='none';lnkobj.innerHTML='изменить вид навигации';}
else {tobj.style.display='none';tobj2.style.display='';lnkobj.innerHTML='изменить вид навигации';}
return false;
}
Информация о вашем предпочтении сохраняется в cookie, поэтому при переходе по блогу настройка не сбивается.
За скрипт благодарю ‘а.
Опубликовано 7 января 2008 в 22:26 Автор Lecactus
Связанные записи
2 комментария
Комментарии не по теме удаляются! Читайте реадми дистрибутива, комментарии выше и FAQ! Прежде чем задавать вопрос, прочитайте это. Научитесь ценить чужое время!

(голосов: 5, средний: 4.60 из 5)

10 января 2008 в 0:21 (GMT+6)
Интересная задумка. Только вот я все таки больше склоняюсь к PagaNavi и думаю что он проще и удобнее. Вобщем думаю что стандартный вариант не нужен :)
10 января 2008 в 0:23 (GMT+6)
а мне наоборот :-), поэтому и поставил специально чтобы выбирали кому что удобнее