Comment utiliser Vue JS avec WordPress

Rifat Tutoriels WordPress May 3, 2024

Dans le paysage numérique d'aujourd'hui, la création d'expériences Web dynamiques et interactives est devenue une priorité absolue pour les développeurs. Avec l’essor des frameworks JavaScript comme Vue.js et l’utilisation généralisée des systèmes de gestion de contenu (CMS) comme WordPress, la combinaison de ces technologies est devenue une solution puissante pour créer des sites Web riches en fonctionnalités.

Dans ce guide, nous explorerons comment exploiter la puissance de Vue.js au sein de l'écosystème WordPress. Nous passerons en revue le processus de configuration de Vue.js avec WordPress, couvrant tout, de l'installation aux techniques avancées pour une intégration transparente. Que vous soyez débutant ou développeur expérimenté, ce guide vous fournira les connaissances et les outils nécessaires pour utiliser efficacement Vue.js avec WordPress et créer des expériences Web attrayantes.

Qu'est-ce que Vue Js ?

Vue.js est un framework JavaScript progressif utilisé pour créer des interfaces utilisateur. Il est réputé pour sa simplicité et sa flexibilité, ce qui en fait un choix populaire parmi les développeurs pour créer des applications Web dynamiques et interactives.

Vue.js adopte une architecture basée sur des composants, permettant aux développeurs de décomposer leurs applications en composants réutilisables et modulaires, qui peuvent être facilement gérés et maintenus. Grâce à sa courbe d'apprentissage douce et à sa documentation complète, Vue.js permet aux développeurs de créer facilement et efficacement des applications Web modernes.

Créer des sites Web incroyables

Avec le meilleur constructeur de page Elementor

Commencer Maintenant

Pourquoi utiliser Vue dans WordPress ?

Il existe plusieurs raisons impérieuses d’utiliser Vue.js en conjonction avec WordPress.

Premièrement, Vue.js est réputé pour sa simplicité, ce qui en fait un choix idéal pour les développeurs cherchant à apprendre et à adopter rapidement un framework JavaScript moderne.

De plus, l’intégration de Vue.js à WordPress présente des avantages pratiques.

Par exemple, les bibliothèques traditionnelles comme jQuery peuvent être moins évolutives et entraîner des conflits dans certains scénarios. En utilisant Vue.js aux côtés de WordPress comme API, les développeurs peuvent améliorer considérablement la vitesse et les performances de leurs sites Web.

Vue.js est également hautement composable, permettant une implémentation plus facile des interfaces utilisateur dans les plugins, les panneaux d'administration et d'autres zones d'un site WordPress. Son architecture basée sur les composants en fait un outil polyvalent et efficace pour créer des applications Web modernes au sein de l'écosystème WordPress.

De plus, WordPress gère plus de 25 % du Web connu, ce qui signifie qu'il fait probablement déjà partie de votre pile de développement ou de celle de vos clients. Cette adoption généralisée de WordPress fait de l’intégration de Vue.js un choix naturel pour le développement front-end.

Comment utiliser WordPress et Vue ?

Ici, nous discuterons de 2 façons d’utiliser simultanément Vue et WP. Voyons comment les faire fonctionner ensemble !

1. Créez un SPA en tant que sous-site Web/application

Vue peut être utilisé pour développer un « sous-site Web » dans le panneau d'administration WordPress. Cette approche est bénéfique pour créer des plugins complexes ou des pages d'administration personnalisées qui nécessitent des systèmes d'onglets ou des systèmes à plusieurs pages.

Contrairement aux méthodes WordPress classiques, l'utilisation de Vue permet des transitions plus fluides entre les pages sans rechargement d'une page entière, améliorant ainsi l'expérience utilisateur.

De plus, Vue permet la création d'éléments d'interface utilisateur plus élégants et personnalisés par rapport aux éléments d'interface utilisateur WordPress standard. Vous trouverez ci-dessous un exemple de page d'administration personnalisée créée à l'aide de Vue.

L'interface utilisateur (UI) présentée ici appartient au plugin WP Rocket dans le panneau d'administration WordPress. Cette interface utilisateur est entièrement personnalisée et comporte ses propres sous-pages présentées sous forme d'onglets. Chaque onglet correspond à une sous-URL distincte, facilitant le partage facile avec d'autres. Essentiellement, il ressemble à un site Web miniature dans le panneau d'administration WP.

Réaliser une telle personnalisation est simple avec Vue et Vue-router. Cependant, il y a un aspect qui nécessite une attention particulière : la gestion des URL. Étant donné la coexistence de deux « sites Web » – le panneau d'administration WordPress et l'interface basée sur Vue – des conflits d'URL potentiels peuvent survenir.

Pour répondre à ce souci, un simple ajustement au sein de l'instance de Vue Router suffit. Plus précisément, vous devez modifier deux options:

  1. L'option de base: elle doit être définie sur votre itinéraire de page WP personnalisé.
  2. L'option mode: elle doit être définie sur "hash".

L'adoption du mode « hachage » garantit que des hachages sont utilisés au lieu de modifier l'intégralité de l'URL, atténuant ainsi les conflits potentiels.

De plus, il convient de noter que vous pouvez également remplacer d'autres pages WordPress, telles que la page de l'éditeur de contenu, en utilisant des techniques similaires, comme l'illustre l'éditeur Elementor .

L'éditeur WordPress conventionnel se transforme en une interface structurée, utilisant des symboles de hachage pour délimiter les sous-URL.

Essentiellement, il est possible de créer un sous-site Web dans diverses sections du panneau d'administration WordPress, telles que des pages de plugins, des éditeurs, des tableaux de bord ou des interfaces de middle-office.

Pour y parvenir, le processus implique l'utilisation de Vue CLI ou d'un outil alternatif pour générer une application Vue unique (SPA) autonome. Ensuite, configurez les options de base et de mode du routeur en conséquence, en exportant l'application et en l'intégrant dans WordPress via des hooks appropriés dans l'écosystème WordPress.

2. Créez des composants réutilisables sur le frontend ou l'administrateur

Les sites Web intègrent diverses micro-interactions, telles que des bascules de menu, des listes déroulantes, des accordéons et des carrousels. Ces éléments forment collectivement ce que l’on appelle un kit d’interface utilisateur. De plus, certains composants peuvent interagir avec les données de manière asynchrone, tels que les boutons J'aime ou de vote, les formulaires et les lecteurs multimédias personnalisés.

Il est important de noter que lors de l'intégration de composants Vue.js dans WordPress ou tout autre modèle backend, opter pour la version Runtime + Compiler de Vue peut être nécessaire. Cela garantit une fonctionnalité transparente et une compatibilité avec l’environnement backend.

Certains composants interagiront avec les données rendues, tandis que d'autres ne le feront pas. Sur la base de cette distinction, différents types de composants devront être créés. Certains composants auront leur modèle.

Vue.component('alert-box', {
  template: `
    <div class="demo-alert-box">
      <strong>Error!</strong>
      <slot></slot>
    </div>
  `
})

Tandis que d'autres utiliseront le balisage généré.

<my-component inline-template>
  <div>
    <p>These are compiled as the component's own template.</p>
    <p>Not parent's transclusion content.</p>
  </div>
</my-component>

Vue peut également être exploitée pour créer des composants Web natifs , offrant l'avantage d'être réutilisables dans divers projets similaires aux ionicons (conçus avec Stencil JS).

Ces composants peuvent être intégrés dans des modèles WordPress PHP ou des fonctions qui génèrent du HTML. Les données peuvent être transmises aux instances Vue ou aux composants de WordPress soit en les chaînent à une variable globale, soit en les attribuant directement à l'accessoire du composant. Le concept implique de charger Vue et d'associer des instances Vue à des ID HTML pour une intégration transparente.

<?php

function themeslug_enqueue_style() {
    wp_enqueue_style( 'my-theme', 'style.css', false );
}

function themeslug_enqueue_script() {
    wp_enqueue_script( 'my-js', 'filename.js', false );
}

add_action( 'wp_enqueue_scripts', 'themeslug_enqueue_style', 10 );
add_action( 'wp_enqueue_scripts', 'themeslug_enqueue_script', 10 );
?>

Voici la partie supérieure et inférieure d'un modèle WP.

<html>
<div id="app">
  {{ message }}
</div>
</html>

<script>
var app = new Vue({
  el: '#app',
  data: {
    message: 'Hello Vue!'
  }
})
</script>

3. Créez un site Web frontal distinct

Enfin, il est important de souligner une fonctionnalité qui peut paraître évidente à certains, mais pas à tous.

Depuis la version 4.7, WordPress a intégré une API REST, permettant aux développeurs d'accéder à divers points de terminaison et de récupérer des données telles que des publications, des pages et des champs personnalisés à l'aide de plugins. Cette fonctionnalité s'aligne sur le concept d'un CMS Headless.

En fait, les applications de cette capacité s’étendent bien au-delà de ce qui pourrait nous venir à l’esprit. Votre interface distincte, qui consomme l’API REST WordPress, peut prendre diverses formes:

  • Une application ou un site Web SPA (Single Page Application)
  • Une application ou un site Web SSR (Server-Side Rendered)
  • Un site Web généré statiquement suivant l'architecture JAMStack
  • Une application Web progressive (PWA)
  • Une application mobile
  • Un autre backend monolithique utilisant un moteur de modèles plus simple ou plus rapide

Essentiellement, tout client pouvant utiliser l’API et sur lequel vous conservez un contrôle total sur le frontend est viable. WordPress sert essentiellement de source de données semblable à une API backend. Notamment, des plugins tels que ACF (Advanced Custom Fields) ou Pods peuvent également exposer des champs personnalisés via l'API.

De plus, vous avez la possibilité d'ajouter des points de terminaison personnalisés à l'API WordPress et d'utiliser le système d'authentification, notamment en générant des noms occasionnels et d'autres composants nécessaires.

Emballer

En conclusion, l'intégration de Vue.js avec WordPress offre aux développeurs une solution robuste pour créer des expériences Web dynamiques et interactives au sein de l'écosystème WordPress. Vue.js, connu pour sa simplicité et sa flexibilité, permet aux développeurs de créer facilement et efficacement des applications Web modernes grâce à son architecture basée sur des composants.

Divi WordPress Theme