web-dev-qa-db-fra.com

Comment puis-je mettre en file d'attente un script à exécuter dans l'éditeur Gutenberg?

J'utilise l'éditeur de Gutenberg en remplacement d'un tableau blanc dans une salle de classe. Je peux rendre la classe plus interactive en faisant travailler les étudiants directement dans l'éditeur de Gutenberg. En tant qu'utilisateur de Wordpress de longue date, c'est vraiment merveilleux de voir cela se produire, avec des utilisateurs non férus de technologie capables d'interagir aussi facilement avec l'éditeur.

Pour fournir certaines fonctionnalités manquantes, j'aimerais exécuter un script personnalisé dans l'éditeur. C'est un script simple qui ajoute des styles si certaines conditions sont remplies. J'exécute actuellement ce script sur le front-end en utilisant wp_register_script et wp_enqueue_script qui sont chargés dans le hook d'action wp_enqueue_scripts.

Est-il possible de charger ce script dans l'éditeur Gutenberg, de sorte que le script puisse être utilisé pendant que mes étudiants l'éditent?

4
Kit Johnson

J'utilise l'éditeur de Gutenberg en remplacement d'un tableau blanc dans une salle de classe. Je peux rendre la classe plus interactive en faisant travailler les étudiants directement dans l'éditeur de Gutenberg.

Quelle utilisation sympa de WordPress tu décris là!

Est-il possible de charger ce script dans l'éditeur Gutenberg, de sorte que le script puisse être utilisé pendant que mes étudiants l'éditent?

Il semble que WordPress 5.0+ nous fournisse deux crochets pour cela:

/**
 * Fires after block assets have been enqueued for the editing interface.
 *
 * Call `add_action` on any hook before 'admin_enqueue_scripts'.
 *
 * In the function call you supply, simply use `wp_enqueue_script` and
 * `wp_enqueue_style` to add your functionality to the block editor.
 *
 * @since 5.0.0
 */
do_action( 'enqueue_block_editor_assets' );

et aussi pour l'éditeur et le front-end:

/**
 * Fires after enqueuing block assets for both editor and front-end.
 *
 * Call `add_action` on any hook before 'wp_enqueue_scripts'.
 *
 * In the function call you supply, simply use `wp_enqueue_script` and
 * `wp_enqueue_style` to add your functionality to the Gutenberg editor.
 *
 * @since 5.0.0
 */
 do_action( 'enqueue_block_assets' );

Mise à jour: Extrait du Manuel de Gutenberg :

Le hook enqueue_block_editor_assets n'est exécuté dans le contexte de l'éditeur Gutenberg que lorsque celui-ci est prêt à recevoir des scripts et des feuilles de style supplémentaires. Il existe également un hook enqueue_block_assets qui est exécuté dans les contextes d'édition et de front-end. Cela devrait être utilisé pour mettre en file d'attente les feuilles de style communes au front-end et à l'éditeur.

Vous pouvez donc essayer de mettre vos scripts en file d'attente dans le rappel de l'un de ces points d'ancrage, selon vos besoins. Il est également possible d'ajouter des blocs spécifiques en tant que dépendance.

2
birgire