Là gì phím tắt quan trọng cho việc cập nhật một trang hoặc bài? Nó có thể giúp tôi tiết kiệm rất nhiều thời gian vì việc cuộn xuống một bản thảo trang là tốn thời gian.
Là gì phím tắt quan trọng cho việc cập nhật một trang hoặc bài? Nó có thể giúp tôi tiết kiệm rất nhiều thời gian vì việc cuộn xuống một bản thảo trang là tốn thời gian.
Câu trả lời:
Tôi tò mò về điều này và đã kiểm tra Codex trên các phím tắt , nhưng không thấy nó được đề cập ở đó.
Tôi đã tìm kiếm và phát hiện ra rằng điều này dường như đã được giải quyết, ví dụ ở đây và đây .
Tôi chưa thử nghiệm các plugin khác này vì vậy tôi không chắc chúng giải quyết nó như thế nào, nhưng tôi quyết định chấp nhận thử thách và xem cách giải quyết vấn đề này ;-)
Vì vậy, đây là hack của tôi để tạo lối tắt cho:
ctrl+s : Save Draft
ctrl+p : Publish / Update
với plugin kiểm tra sau chạy trong after_wp_tiny_mce
hook:
/**
* Plugin Name: Testing ctrl+s and ctrl+p for saving and publishing posts.
* Plugin URI: https://wordpress.stackexchange.com/a/199411/26350
*/
add_action( 'after_wp_tiny_mce', function()
{?><script>
( function ( $ ) {
'use strict';
$( window ).load( function () {
wpse.init();
});
var wpse = {
keydown : function (e) {
if( e.ctrlKey && 83 === e.which ) {
// ctrl+s for "Save Draft"
e.preventDefault();
$( '#save-post' ).trigger( 'click' );
} else if ( e.ctrlKey && 80 === e.which ) {
// ctrl+p for "Publish" or "Update"
e.preventDefault();
$( '#publish' ).trigger( 'click' );
}
},
set_keydown_for_document : function() {
$(document).on( 'keydown', wpse.keydown );
},
set_keydown_for_tinymce : function() {
if( typeof tinymce == 'undefined' )
return;
for (var i = 0; i < tinymce.editors.length; i++)
tinymce.editors[i].on( 'keydown', wpse.keydown );
},
init : function() {
wpse.set_keydown_for_document();
wpse.set_keydown_for_tinymce();
}
}
} ( jQuery ) );
</script><?php });
Tôi đã thêm cuộc gọi lại sự kiện wpse.keydown cho mọi trình soạn thảo tinymce trên trang, vì vậy các phím tắt cũng sẽ có sẵn từ đó.
Lưu ý rằng tôi sử dụng after_wp_tiny_mce
hook, như một hook thử nghiệm thuận tiện khi cài đặt vanilla , vì chúng ta đang xử lý đối tượng javascript tinymce . Khi chúng tôi gửi một plugin như vậy, chúng tôi nên liệt kê nó từ tệp .js, như thường lệ.
Chúng tôi cũng có thể sử dụng SetupEditor
sự kiện tinymce , như được đề cập ở đây bởi @bonger, nhưng ở đây tôi đã thêm một kiểm tra bổ sung để xem liệu tinymce có được xác định hay không, để tránh lỗi javascript trên các trang không được xác định:
// Keydown for tinymce
if( typeof tinymce != 'undefined' )
{
tinymce.on( 'SetupEditor', function (editor) {
wpse.set_keydown_for_tinymce();
});
}
// Keydown for document
wpse.set_keydown_for_document();
Chúng tôi có lẽ cũng có thể thiết lập các phím tắt tinymce bản địa .
Điều này có thể cần một số thử nghiệm và điều chỉnh, nhưng nó dường như hoạt động trên cài đặt của tôi.
after_wp_tiny_mce
sẽ là một móc thử nghiệm tiện dụng cho việc cài đặt vanilla, nơi tôi không mong đợi remove_post_type_support( 'post', 'editor' )
hoặc có nhiều trình soạn thảo tinymce trên một trang. Nhưng các móc khác sẽ hoạt động, nhưng chúng ta phải đảm bảo tinymce được xác định. Nhưng chúng tôi sẽ gửi plugin của mình bằng cách liệt kê nó từ tệp .js, theo cách thông thường. @JanBeck
wpse.set_keydown_for_tinymce()
phần đó, thì wpse.set_keydown_for_document()
sẽ không bắt được các sự kiện phím tắt ctrl + {p, s} từ trình soạn thảo tinymce . Vì vậy, đó là lý do tại sao tôi bận tâm với tinymce ở nơi đầu tiên ;-) Nếu điều đó có thể bị bỏ qua, đó sẽ là điều tuyệt vời @JanBeck
Câu hỏi đã cũ, nhưng có một plugin cho mục đích này: https://wordpress.org/plugins/save-with-keyboard/