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