В новом Вордпрессе 3.2 появился полноэкранный режим редактирования страниц. В нем нет никаких элементов управления — только поле для контента. Кнопка «Сохранить» появляется, если подвинуть мышку. Я подумал, что было бы здорово сделать возможность сохранения изменений с помощью клавиатуры, стандартным сочетанием клавиш Ctrl+S (или ⌘+S на маке).
Плагин Register Ctrl+S
Скачать плагин, версия 0.1
За основу взят плагин Ctrl+S. Основное отличие — мой просто работает ;-) А ещё он включает сохранение по хоткею практически на всех страницах Вордпресса. Точно работает на страницах:
- Редактирования записи или страницы (включая полноэкранный режим) NEW
- Редактирования комментария, ссылки, медиафайла. При нажатии сохраняются изменения и идет переход на родительскую страницу.
- Редактирования меню, настроек, тем, плагинов
Одним словом, практически везде, где есть кнопка «Сохранить» в том или ином виде. Возможно также будет работать и на других страницах где есть кнопки, например на странице экспортирования блога, но это не так важно.
Установка
Скопируйте папку плагина в wp-content/plugins, и активируйте плагин через панель администрирования.
Без плагина
Если вы не любите возиться с плагинами и лишними файлами, можно использовать облегченную версию плагина и вставлять ее прямо в functions.php:
function registerCtlS () {
?>
<script type="text/javascript">
var registerCtrS = {
attachEvent : function() {
jQuery(document).keydown(registerCtrS.save);
},
save : function(e){
if((e.which == 115 && e.ctrlKey) || (e.which == 19) || (e.metaKey && e.which == 83)) {
var b = false;
if (jQuery('#wp-fullscreen-body').is(":visible")) {
b = jQuery('#wp-fullscreen-save input[type="button"]');
}
else if(jQuery('input[type="submit"]#save-post').length) {
b = jQuery('input[type="submit"]#save-post');
}
else if(jQuery('input[type="submit"]#save').length) {
b = jQuery('input[type="submit"]#save');
}
else if(jQuery('input[type="submit"]#submit').length) {
b = jQuery('input[type="submit"]#submit');
}
else if(jQuery('input#save_menu_footer').length) {
b = jQuery('input#save_menu_footer');
}
if(b != false) {
b.click();
return false;
}
}
}
}
jQuery(document).ready(registerCtrS.attachEvent);
</script>
<?php
}
add_action('admin_print_scripts','registerCtlS',200);