Utiliser vuejs et es6 en 39; Gestion WordPress
Une bonne occasion d’utiliser l’interface javascript avec l’api WordPress rest est d’améliorer les écrans et les paramètres de gestion WordPress. J’a i récemment écrit un billet pour Torque sur la création d’écrans de configuration en utilisant l’API rest et jquery. C’est une bonne introduction, mais d’habitude j’utilise vuejs. À l’avenir, j’aborderai plus en détail la façon d’utiliser vuejs, mais j’aimerais aborder deux inconvénients importants en expliquant que c’est mon approche idéale: la compilation d’es6 et la création de modèles.
Je suis un grand fan de vuejs pour plusieurs raisons. C’est facile à démarrer et vous n’avez pas besoin d’outils imaginatifs ou es6 pour l’utiliser. Cela dit, es6 est une amélioration significative du langage Javascript, de sorte que l’écriture avec es6 peut améliorer l’utilisation de vuejs ou de n’importe quel JavaScript. En appliquant les connaissances d’es6 à l’environnement WordPress, j’ai trouvé un peu difficile que toutes les connaissances que j’ai apprises sur la façon de configurer les outils soient basées sur des projets html + JavaScript traditionnels. C’est bien pour quelque chose qui est complètement découplé de WordPress, mais je veux le faire directement dans la gestion de WordPress.
Après quelques expériences, j’ai ajusté le flux de travail gulp et je l’ai utilisé pour minimiser les fichiers JavaScript dans le plug – in wordpress pour compiler es6 en es5 sécurisé par le navigateur en utilisant Babel. Il ne vous permettra pas d’approuver JS hipster, mais il fonctionne. Je veux vous montrer comment cela fonctionne et discuter d’autres défis liés à l’utilisation de vuejs dans WP admin, comme la création de HTML. Compiler es6 es6 est vraiment génial et j’aime l’utiliser, mais il n’est toujours pas sûr de l’utiliser dans tous les navigateurs. À l’heure actuelle, Babel est l’outil le plus fiable que j’utilise pour créer du Code es5 sécurisé pour mon navigateur. Cela pourrait bientôt changer, mais pour le moment, parce qu’Internet Explorer est toujours une chose, que
C’est un problème.
J’ai utilisé gulp pour minimiser et combiner les fichiers Javascript, donc je veux continuer à utiliser gulp, mais aussi Babel, parce que je sais que tôt ou tard je vais supprimer Babel. L’utilisation de Babel en association avec gulp s’est avérée relativement simple. D’abord, j’ai mis une grande bouche de Babel dans mon paquet. Json: NPM install gulp Babel – Si vous êtes intéressé par la devdependency complète de toutes les bibliothèques gulp requises par cet exemple, sauvegardez Dev, qui est: \
\
\
\
\
\
\
\
\
\
} avec cela, je peux ajouter la compilation Babel à mon processus de compilation JavaScript Standard:
Const gulp = required (\
Const Watch = required (\
Const minify = required (\
Const sourcemaps = require (‘gulp sourcemaps’);
Const Babel = required (\
Const concat = required (\
Avaler Tâche (‘adminjs’, fonction () {
Une petite gorgée.
SRC (‘\/ assets \/ js \/ admin \/ *.Js’)
– Oui. Pipe (sourcemaps.init ())
– Oui. Pipeline (tour de Babel
Par défaut: [‘ENV’]
}))
– Oui. Pipe (concat (‘\/ assets \/ js \/ admin.js’)
– Oui. Pipe (sourcemaps.write (‘))
– Oui. Tuyauterie (rétrécie
Extérieur: ‘. Minimum JS’,
Aucune source: false,
Boiteux: Oui,
Compression: vrai
}))
– Oui. Tuyauterie (Grande destination (‘)
});
Avaler Tâche (‘Watch’, fonction () {
Avaler Surveillance (‘\/ assets \/ js \/ admin \/ *.Js’, [‘ adminjs’]);
});
Avaler Tâches (‘default’, [‘adminjs’); Utilisez un modèle HTML lors de la configuration d’un modèle vuejs, comme Angular. Si je n’avais pas utilisé vue dans le contexte WordPress, j’aurais utilisé un fichier ou un fichier HTML. Vue adaptée à mon modèle. Mais dans WordPress, je pense qu’il est préférable d’utiliser des fichiers PHP. Pourquoi? Il y a deux raisons: traduire et définir les valeurs par défaut.
J’ai écrit sur différentes façons d’inclure des chaînes traduisables dans les applications anglaises
Pour les messages WordPress, Gutenberg utilise l’api WordPress rest pour obtenir les données des messages existants dans la variable Windows Scope, sans avoir besoin de requêtes http supplémentaires, et peut ensuite être utilisé pour définir l’état initial à réagir. Voici un exemple de fonction basée sur le Code Gutenberg pour joindre un fichier javascript et entrer les données dans le post Save dans la fenêtre des objets JavaScript Exemple d’éditeur:
Si (Current _ user can (‘Edit post’, $post – > ID)) {
$request = new WP _ rest request (‘get’, sprintf (‘\/ WP \/ v2 \/% S \/% d’,! Empty ($post type Object – > rest base) $ Post _ type Object – > rest base: $post type Object – > name, $post – > ID);
$request – > SET Parameters (‘Context’, ‘Edit’);
$Response = rest \ U Do \ u request ($Request);
Si ($reply – > is _ Error ()) {
Reviens!
}
WP _ enqueue script (‘your Handle’, ‘\/ Path’);
WP _ add inline script (‘your Handle’, ‘window. \ \ exampleditor =’. WP json encode ($Response – > get Data ()).
}
} avec cela, je peux configurer les composants vuejs pour utiliser le modèle montré ci – dessus.
Nouvelle vue ({0}
El: \
Données: fonction () {
Retour à {
Poste: fenêtre Exemple d’éditeur
}
}
}); Parfois, un peu de PHP peut grandement améliorer l’interface JavaScript. Jusqu’à présent, j’ai créé des plug – ins qui utilisent vuejs dans l’écran d’administration. Le plug – in client Caldera forms pro est le seul qui utilise es6. Je vous encourage à consulter le code source à cet égard sur github. Pour un exemple d’utilisation de React, vous devriez lire le plug – in WP Notebook de kadam White ou Gutenberg. C’est ton tour. Trouvez votre plug – in, votre sujet ou une partie de votre administrateur de site que vous pouvez améliorer en utilisant vuejs, ou utiliser comme un moyen d’apprentissage. Ensuite, commencez à utiliser ces compétences à l’avant pour améliorer progressivement votre site.