Иногда управление блогом с помощью клавиатуры бывает более удобным, нежели с помощью кнопок и ссылок. Например, это относится к навигации между предыдущей и следующей страницей — бывает быстрее найти стрелочку на клавиатуре, нежели чем кликать по ссылкам мышкой. Давайте внедрим такую навигацию на отдельную страницу, а так же на главную страницу и архив постов определенной категории.
Откройте файл 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». Работа скрипта ограничена главной страницей блога, архивом постов определенной категории и одиночным постом. На главной странице и в категории скрипт при нажатии на клавиши клавиатуры открывает следующую и предыдущую страницу, а в одиночном посте — следующий и предыдущий пост.
Переназначить клавиши под себя вам поможет таблица соответствия клавиш клавиатуры и их кодов.
|
|
|
