Навигация по блогу на любой вкус

Теперь можно переключаться между постраничной (через плагин 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(' - ','&#171; Вперед в будущее','Назад в прошлое &#187;') ?> </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, поэтому при переходе по блогу настройка не сбивается.

За скрипт благодарю BorPas‘а.

Связанные записи

2 комментария на запись “Навигация по блогу на любой вкус”

  1. Mustang 10 января 2008 в 0:21

    Интересная задумка. Только вот я все таки больше склоняюсь к PagaNavi и думаю что он проще и удобнее. Вобщем думаю что стандартный вариант не нужен :)

  2. Lecactus 10 января 2008 в 0:23

    больше склоняюсь к PagaNavi и думаю что он проще и удобнее

    а мне наоборот :-), поэтому и поставил специально чтобы выбирали кому что удобнее