Cara Menggunakan Vue JS Dengan WordPress

Rifat Tutorial WordPress May 3, 2024

Dalam lanskap digital saat ini, menciptakan pengalaman web yang dinamis dan interaktif telah menjadi prioritas utama bagi pengembang. Dengan munculnya kerangka kerja JavaScript seperti Vue.js dan meluasnya penggunaan sistem manajemen konten (CMS) seperti WordPress, menggabungkan teknologi ini telah menjadi solusi ampuh untuk membangun situs web yang kaya fitur.

Dalam panduan ini, kita akan mempelajari cara memanfaatkan kekuatan Vue.js dalam ekosistem WordPress. Kami akan memandu proses pengaturan Vue.js dengan WordPress, mencakup semuanya mulai dari instalasi hingga teknik tingkat lanjut untuk integrasi yang lancar. Baik Anda seorang pemula atau pengembang berpengalaman, panduan ini akan membekali Anda dengan pengetahuan dan alat yang diperlukan untuk menggunakan Vue.js secara efektif dengan WordPress dan menciptakan pengalaman web yang menarik.

Apa itu Vue Js?

Vue.js adalah kerangka kerja JavaScript progresif yang digunakan untuk membangun antarmuka pengguna. Ia terkenal karena kesederhanaan dan fleksibilitasnya, menjadikannya pilihan populer di kalangan pengembang untuk membuat aplikasi web yang dinamis dan interaktif.

Vue.js mengadopsi arsitektur berbasis komponen, memungkinkan pengembang untuk memecah aplikasi mereka menjadi komponen yang dapat digunakan kembali dan modular, yang dapat dikelola dan dipelihara dengan mudah. Dengan kurva pembelajaran yang lembut dan dokumentasi yang ekstensif, Vue.js memberdayakan pengembang untuk secara efisien membangun aplikasi web modern dengan mudah.

Buat Situs Web Luar Biasa

Dengan Elementor pembuat halaman gratis terbaik

Mulai sekarang

Mengapa Menggunakan Vue di WordPress?

Ada beberapa alasan kuat untuk menggunakan Vue.js bersama dengan WordPress.

Pertama, Vue.js terkenal karena kesederhanaannya, menjadikannya pilihan ideal bagi pengembang yang ingin mempelajari dan mengadopsi kerangka JavaScript modern dengan cepat.

Selain itu, ada manfaat praktis untuk mengintegrasikan Vue.js dengan WordPress.

Misalnya, perpustakaan tradisional seperti jQuery kurang dapat diskalakan dan dapat menyebabkan konflik dalam skenario tertentu. Dengan memanfaatkan Vue.js bersama WordPress sebagai API, pengembang dapat meningkatkan kecepatan dan kinerja situs web mereka secara signifikan.

Vue.js juga sangat mudah disusun, memungkinkan implementasi antarmuka pengguna yang lebih mudah dalam plugin, panel admin, dan area lain di situs WordPress. Arsitektur berbasis komponen menjadikannya alat serbaguna dan efisien untuk membangun aplikasi web modern dalam ekosistem WordPress.

Selain itu, WordPress menguasai lebih dari 25% web yang dikenal, artinya kemungkinan besar web tersebut sudah menjadi bagian dari tumpukan pengembangan Anda atau klien Anda. Adopsi WordPress yang meluas ini menjadikan pengintegrasian Vue.js sebagai pilihan yang wajar untuk pengembangan front-end.

Bagaimana Cara Menggunakan WordPress dan Vue?

Disini kita akan membahas 2 cara menggunakan Vue dan WP sekaligus. Mari kita lihat cara membuat keduanya bekerja sama!

1. Membuat SPA sebagai Sub Website/Aplikasi

Vue dapat digunakan untuk mengembangkan "sub-situs web" di panel admin WordPress. Pendekatan ini bermanfaat untuk membuat plugin kompleks atau halaman admin khusus yang memerlukan sistem tab atau sistem multi-halaman.

Tidak seperti metode WordPress biasa, penggunaan Vue memungkinkan transisi antar halaman yang lebih lancar tanpa memuat ulang satu halaman penuh, sehingga meningkatkan pengalaman pengguna.

Selain itu, Vue memungkinkan pembuatan elemen UI yang lebih elegan dan dapat disesuaikan dibandingkan dengan elemen UI WordPress standar. Di bawah ini adalah contoh halaman admin khusus yang dibuat menggunakan Vue.

Antarmuka pengguna (UI) yang ditampilkan di sini milik plugin WP Rocket di panel admin WordPress. UI ini sepenuhnya disesuaikan dan menampilkan sub-halamannya sendiri yang disajikan sebagai tab. Setiap tab berhubungan dengan sub URL yang berbeda, sehingga memudahkan berbagi dengan orang lain. Pada dasarnya, ini menyerupai situs web mini di panel admin WP.

Untuk mencapai penyesuaian seperti itu sangatlah mudah dengan Vue dan Vue-router. Namun, ada satu aspek yang memerlukan perhatian cermat: menangani URL. Mengingat keberadaan dua "situs web" – panel admin WordPress dan antarmuka yang didukung Vue – potensi konflik URL mungkin timbul.

Untuk mengatasi masalah ini, penyesuaian sederhana dalam instance Vue Router sudah cukup. Secara khusus, Anda perlu mengubah dua opsi:

  1. Opsi dasar: Ini harus diatur ke rute halaman WP kustom Anda.
  2. Opsi mode: Ini harus disetel ke "hash".

Mengadopsi mode "hash" memastikan bahwa hash digunakan alih-alih mengubah seluruh URL, sehingga mengurangi potensi konflik.

Selain itu, perlu diperhatikan bahwa Anda juga dapat mengganti halaman WordPress lainnya, seperti halaman editor konten, menggunakan teknik serupa, seperti yang dicontohkan oleh editor Elementor .

Editor WordPress konvensional berubah menjadi antarmuka terstruktur, menggunakan simbol hash untuk menggambarkan sub-URL.

Pada dasarnya, sub-situs web dapat dibuat di berbagai bagian panel admin WordPress, seperti halaman plugin, editor, dasbor, atau antarmuka kantor tengah.

Untuk mencapai hal ini, prosesnya melibatkan penggunaan Vue CLI atau alat alternatif untuk menghasilkan Vue Single Page Application (SPA) mandiri. Selanjutnya, konfigurasikan opsi dasar dan mode router, ekspor aplikasi, dan integrasikan ke WordPress melalui hook yang sesuai dalam ekosistem WordPress.

2. Buat Komponen yang Dapat Digunakan Kembali di Frontend atau Admin

Situs web menggabungkan berbagai interaksi mikro, seperti tombol menu, dropdown, akordeon, dan carousel. Elemen-elemen ini secara kolektif membentuk apa yang dikenal sebagai UI Kit. Selain itu, komponen tertentu dapat berinteraksi dengan data secara asinkron, seperti tombol suka atau pilih, formulir, dan pemutar media khusus.

Penting untuk dicatat bahwa ketika mengintegrasikan komponen Vue.js ke WordPress atau template backend lainnya, mungkin diperlukan pilihan untuk versi Runtime + Compiler dari Vue. Hal ini memastikan fungsionalitas dan kompatibilitas yang lancar dengan lingkungan backend.

Komponen tertentu akan berinteraksi dengan data yang dirender, sementara komponen lainnya tidak. Berdasarkan pembedaan ini, berbagai jenis komponen perlu dibuat. Beberapa komponen akan memiliki templatnya sendiri.

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

Sementara yang lain akan memanfaatkan markup yang dihasilkan.

<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 juga dapat dimanfaatkan untuk membuat Komponen Web asli , menawarkan keuntungan dapat digunakan kembali di berbagai proyek yang mirip dengan ionicons (dibuat dengan Stencil JS).

Komponen-komponen ini dapat diintegrasikan ke dalam template WordPress PHP atau fungsi yang menghasilkan HTML. Data dapat diteruskan ke instance atau komponen Vue dari WordPress dengan merangkainya menjadi variabel global atau langsung menugaskannya ke prop komponen. Konsep ini melibatkan pemuatan Vue dan mengaitkan instance Vue dengan ID HTML untuk integrasi yang lancar.

<?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 );
?>

Berikut adalah bagian atas dan bawah Templat WP.

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

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

3. Buat Situs Web Frontend Terpisah

Terakhir, penting untuk menyoroti fitur yang mungkin terlihat oleh sebagian orang, namun tidak semua orang.

Sejak versi 4.7, WordPress telah memasukkan REST API, memungkinkan pengembang mengakses berbagai titik akhir dan mengambil data seperti postingan, halaman, dan bidang khusus dengan bantuan plugin. Fungsionalitas ini selaras dengan konsep CMS Tanpa Kepala.

Faktanya, penerapan kemampuan ini jauh melampaui apa yang mungkin terlintas di benak Anda pada awalnya. Frontend terpisah Anda, yang menggunakan REST API WordPress, dapat memiliki berbagai bentuk:

  • Aplikasi atau situs web SPA (Aplikasi Halaman Tunggal).
  • Aplikasi atau situs web SSR (Server-Side Rendered).
  • Situs web yang dibuat secara statis mengikuti arsitektur JAMStack
  • Aplikasi Web Progresif (PWA)
  • Sebuah aplikasi seluler
  • Backend monolitik lainnya yang menggunakan mesin templat yang lebih sederhana atau lebih cepat

Intinya, klien mana pun yang dapat menggunakan API dan di mana Anda memegang kendali penuh atas frontend adalah hal yang layak. WordPress pada dasarnya berfungsi sebagai sumber data yang mirip dengan API backend. Khususnya, plugin seperti ACF (Advanced Custom Fields) atau Pod juga dapat mengekspos kolom khusus melalui API.

Selain itu, Anda memiliki fleksibilitas untuk menambahkan titik akhir khusus ke API WordPress dan memanfaatkan sistem autentikasi, termasuk menghasilkan nonce dan komponen lain yang diperlukan.

Membungkus

Kesimpulannya, integrasi Vue.js dengan WordPress menawarkan pengembang solusi yang kuat untuk menciptakan pengalaman web yang dinamis dan interaktif dalam ekosistem WordPress. Vue.js, yang dikenal karena kesederhanaan dan fleksibilitasnya, memberdayakan pengembang untuk membangun aplikasi web modern secara efisien dengan mudah melalui arsitektur berbasis komponennya.

Divi WordPress Theme