Иногда управление блогом с помощью клавиатуры бывает более удобным, нежели с помощью кнопок и ссылок. Например, это относится к навигации между предыдущей и следующей страницей – бывает быстрее найти стрелочку на клавиатуре, нежели чем кликать по ссылкам мышкой. Давайте внедрим такую навигацию на отдельную страницу, а так же на главную страницу и архив постов определенной категории.
Откройте файл functions.php используемой вами темы, добавьте в него следующий код:
add_action('wp_footer','keyboard_shortcut_navigation');
function keyboard_shortcut_navigation(){
global $paged, $wp_query;
if ( !$max_page )
$max_page = $wp_query->max_num_pages;
if ( !$paged )
$paged = 1;
$nextpage = intval($paged) + 1;
?>
document.onkeydown = chang_page;function chang_page(e) {
var e = e || event,
keycode = e.which || e.keyCode;
var obj = e.target || e.srcElement;
if(obj.tagName.toLowerCase()=="textarea"){return;}
if(obj.tagName.toLowerCase()=="input"){return;}
if (keycode == 33 || keycode == 37) location = '';
if (keycode == 34 || keycode == 39) location = '';
}
document.onkeydown = chang_page;function chang_page(e) {
var e = e || event,
keycode = e.which || e.keyCode;
var obj = e.target || e.srcElement;
if(obj.tagName.toLowerCase()=="textarea"){return;}
if(obj.tagName.toLowerCase()=="input"){return;}
if (keycode == 33 || keycode == 37) location = '';
if (keycode == 34 || keycode == 39)
<?php if ( $nextpage
location = '';
location = '';
}
<?php
}
Этот код содержит java-скрипт, отслеживающий нажатие клавиш клавиатуры. Клавиша с кодом 37 соответствует клавише “left arrow”, клавиша с кодом “39” – клавише “right arrow”, 33 – “page up”, 34 – “page down”. Работа скрипта ограничена главной страницей блога, архивом постов определенной категории и одиночным постом. На главной странице и в категории скрипт при нажатии на клавиши клавиатуры открывает следующую и предыдущую страницу, а в одиночном посте – следующий и предыдущий пост.
Переназначить клавиши под себя вам поможет таблица соответствия клавиш клавиатуры и их кодов.
|
|
|








