Créer un plug – in WordPress en utilisant vue 2
Polka King. CSS \
Ensuite, nous pouvons définir la façon dont nous voulons utiliser notre code court et l’utiliser comme guide pour le traitement réel du Code court. Voici ce que j’aimerais pouvoir taper dans l’éditeur pour générer un nouveau sondage (ajout d’une nouvelle ligne pour la lisibilité): [pollka question = \
La première chose que nous devons faire est de désinfecter l’attribut ID afin qu’il puisse être utilisé comme attribut HTML ou clé lors de l’enregistrement de l’enquête dans la base de données: $id = sanitize _ title with Dash ($ATTS [‘id’, », », Save ‘); Ensuite, nous allons convertir tous ces attributs Answer – n en un tableau afin qu’ils soient plus faciles à répéter: $Answers = []; Foreach ($key = > $VAL) {if (Str Str Str ($Key, ‘Answer -‘) {$Answers [Str _ replace (‘Answer -‘, ‘, $key)] = $Val;} Enfin, nous voulons passer toutes ces données avec Javascript. Nous voulons nous assurer qu’il y a plus d’une enquête sur une page afin que nous ne puissions pas générer une seule balise de script pour remplir ces données dans une variable. Au lieu de cela, nous créerons un élément HTML
Nous ajouterons ces données comme attributs, que nous accéderons plus tard du côté JS.
Premièrement, nous créons un objet json qui peut insérer des attributs HTML: $vue _ ATTS = ESC ATTR (Code json Code ([‘id’ = > ID $, ‘question’ = > ATTS [‘question’], ‘Answers’ = > Answers,]); Ensuite, nous mettrons à jour la méthode pour générer une DIV et utiliserons ces données supplémentaires comme propriété: retourner \
Var element = document. Queryselectorall (« [Data Primary Key to] »); Cela nous donnera une liste de noeuds JavaScript qui ressemblent beaucoup à un tableau de n’importe quel élément DIV qui contient l’attribut PK ATTS des données. Comme nous voulons pouvoir voir plusieurs enquêtes sur la même page, nous pouvons simplement faire défiler la liste des noeuds et effectuer toute magie basée sur la vue qui apparaît sur chaque noeud. Nous créons une boucle et extrayons json de l’attribut Data PK ATTS et l’analysons pour l’utiliser comme objet javascript: element. Foreach (Function (element) {var ATTS = json.parse (element.getat)
Attribut (\
La prochaine chose que nous devons faire pour convertir les DIV créés par notre code court en enquêtes est de créer des instances de vue, pas chaque instance, et de rendre l’objet ATTS disponible dans l’Instance vue. Cela peut sembler parler de beaucoup d’instances \/ objets, mais en fait cela devrait être très simple. Regardons les éléments. Foreach (Function (element) {var ATTS = json.parse (element.getattribute (‘Data PK ATTS’); \/ \/ to this element and Its’ ATTS’ var VM = new vue ({el: element, created: function ({this.atts = ATTS;}});); Ici, nous créerons une nouvelle instance vue qui vivra dans l’élément courant. Nous ajoutons également des objets ATTS à l’Instance courante en utilisant la méthode du cycle de vie créée par vue. Nous pouvons également le faire en utilisant l’objet donné de vue, mais cette information n’a pas besoin d’être réactive, et je veux faire une distinction claire entre les attributs statiques et réactifs dans le Code.
Ensuite, nous devons fournir à vue quelque chose pour remplacer le DIV substituant. Maintenant, il suffit d’ajouter une nouvelle DIV avec une classe. Conteneur PK, Nous afficherons le problème pour nous assurer que tout va bien. Depuis…
Nous essayons de simplifier les choses en ajoutant simplement un attribut Template à un nouvel objet vue et en le remplissant de modèles basés sur des chaînes: var VM = new vue ({el: element, created: function () {this.atts = ATTS;}, Modèle: » [Questions relatives aux annexes] ‘ } ); Si tout se passe bien, nous devrions voir nos questions partout où nous ajoutons ce code Court:
\ \
‘, Comme nous n’utilisons aucun outil de compilation fantaisiste, nous pouvons simplement l’ajouter au fichier pollka King. JS, la seule chose spéciale que nous devons faire est de nous assurer que le composant est défini avant de l’utiliser, donc je vais l’ajouter au début du fichier avant de créer l’Instance vue sur l’élément:
Var pkpoll = vue. Composant (‘PK Poll’, {props: [‘ATTS’, data: function () {renvoie {Selected Answer: NULL,}},}); Comme vous pouvez le voir, nous avons encore une façon très simple de créer notre composant de sondage PK, d’accepter prop ATTS, et de définir un attribut de données passives appelé selectedanswer que nous utiliserons pour suivre les réponses sélectionnées par l’utilisateur. Nous devons ensuite créer un modèle pour ce composant, comme nous l’avons fait pour l’instance principale de vue: le modèle: »
[Questions relatives aux annexes] \
[réponse]
\
Présentation