Quelle est la touche de raccourci clavier pour mettre à jour une page ou un article? Cela pourrait me faire gagner beaucoup de temps car le déroulement d'un brouillon de page prend beaucoup de temps.
la source
Quelle est la touche de raccourci clavier pour mettre à jour une page ou un article? Cela pourrait me faire gagner beaucoup de temps car le déroulement d'un brouillon de page prend beaucoup de temps.
J'étais curieux à ce sujet et j'ai vérifié le Codex sur les raccourcis clavier , mais je ne l'ai pas trouvé mentionné ici.
J'ai cherché et découvert que cela semble être déjà résolu, par exemple ici et ici .
Je n'ai pas testé ces autres plugins, donc je ne sais pas comment ils le résolvent, mais j'ai décidé de relever le défi et de voir comment cela pourrait être résolu ;-)
Voici donc mon hack pour créer des raccourcis pour:
ctrl+s : Save Draft
ctrl+p : Publish / Update
avec le plugin de test suivant qui s'exécute dans le after_wp_tiny_mce
crochet:
/**
* 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 });
J'ai ajouté le rappel d' événement wpse.keydown à chaque éditeur de tinymce sur la page, de sorte que les raccourcis seraient également disponibles à partir de là.
Notez que j'utilise le after_wp_tiny_mce
hook, en tant que hook de test pratique sur une installation vanilla , car nous avons affaire à l' objet javascript tinymce . Lorsque nous expédions un tel plugin, nous devons le mettre en file d'attente à partir d'un fichier .js, comme d'habitude.
Nous pourrions également utiliser l' SetupEditor
événement de tinymce , comme mentionné ici par @bonger, mais ici j'ai ajouté une vérification supplémentaire pour voir si tinymce est défini, pour éviter l'erreur javascript sur les pages où il n'est pas défini:
// 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();
Nous pourrions probablement configurer natifs TinyMCE raccourcis ainsi.
Cela pourrait nécessiter des tests et des ajustements, mais cela semble fonctionner sur mon installation.
after_wp_tiny_mce
serait un crochet de test pratique pour une installation vanilla, où je ne m'attends pasremove_post_type_support( 'post', 'editor' )
ou plusieurs éditeurs tinymce sur une page. Mais d'autres crochets fonctionneraient, mais nous devons nous assurer que tinymce est défini. Mais nous expédions notre plugin en le mettant en file d'attente à partir d'un fichier .js, de la manière habituelle. @JanBeckwpse.set_keydown_for_tinymce()
partie,wpse.set_keydown_for_document()
je n'attraperais pas les événements de raccourci ctrl + {p, s} de l' éditeur tinymce . C'est pourquoi j'ai pris la peine de tinymce en premier lieu ;-) Si cela pouvait être ignoré, ce serait génial @JanBeckLa question est ancienne, mais il existe un plugin à cet effet: https://wordpress.org/plugins/save-with-keyboard/
la source