Cách sử dụng Vue JS với WordPress

Rifat Hướng dẫn WordPress May 3, 2024

Trong bối cảnh kỹ thuật số ngày nay, việc tạo ra trải nghiệm web năng động và tương tác đã trở thành ưu tiên hàng đầu của các nhà phát triển. Với sự phát triển của các khung JavaScript như Vue.js và việc sử dụng rộng rãi các hệ thống quản lý nội dung (CMS) như WordPress, việc kết hợp các công nghệ này đã trở thành một giải pháp mạnh mẽ để xây dựng các trang web giàu tính năng.

Trong hướng dẫn này, chúng ta sẽ khám phá cách khai thác sức mạnh của Vue.js trong hệ sinh thái WordPress. Chúng ta sẽ hướng dẫn quy trình thiết lập Vue.js với WordPress, bao gồm mọi thứ từ cài đặt đến các kỹ thuật nâng cao để tích hợp liền mạch. Cho dù bạn là người mới bắt đầu hay nhà phát triển có kinh nghiệm, hướng dẫn này sẽ trang bị cho bạn kiến ​​thức và công cụ cần thiết để sử dụng hiệu quả Vue.js với WordPress và tạo trải nghiệm web hấp dẫn.

Vue Js là gì?

Vue.js là một khung JavaScript tiến bộ được sử dụng để xây dựng giao diện người dùng. Nó nổi tiếng vì tính đơn giản và linh hoạt, khiến nó trở thành lựa chọn phổ biến của các nhà phát triển để tạo các ứng dụng web động và tương tác.

Vue.js áp dụng kiến ​​trúc dựa trên thành phần, cho phép các nhà phát triển chia nhỏ ứng dụng của họ thành các thành phần mô-đun và có thể tái sử dụng, có thể dễ dàng quản lý và bảo trì. Với lộ trình học tập nhẹ nhàng và tài liệu phong phú, Vue.js hỗ trợ các nhà phát triển xây dựng các ứng dụng web hiện đại một cách hiệu quả một cách dễ dàng.

Tạo trang web tuyệt vời

Với trình tạo trang miễn phí tốt nhất Elementor

Bắt đầu bây giờ

Tại sao nên sử dụng Vue trong WordPress?

Có một số lý do thuyết phục để sử dụng Vue.js kết hợp với WordPress.

Thứ nhất, Vue.js nổi tiếng vì tính đơn giản, khiến nó trở thành lựa chọn lý tưởng cho các nhà phát triển muốn tìm hiểu và áp dụng khung JavaScript hiện đại một cách nhanh chóng.

Ngoài ra, còn có những lợi ích thiết thực khi tích hợp Vue.js với WordPress.

Ví dụ: các thư viện truyền thống như jQuery có thể khó mở rộng hơn và có thể dẫn đến xung đột trong một số trường hợp nhất định. Bằng cách sử dụng Vue.js cùng với WordPress làm API, các nhà phát triển có thể nâng cao đáng kể tốc độ và hiệu suất trang web của họ.

Vue.js cũng có khả năng kết hợp cao, cho phép triển khai giao diện người dùng dễ dàng hơn trong plugin, bảng quản trị và các khu vực khác của trang web WordPress. Kiến trúc hướng thành phần của nó làm cho nó trở thành một công cụ linh hoạt và hiệu quả để xây dựng các ứng dụng web hiện đại trong hệ sinh thái WordPress.

Hơn nữa, WordPress chiếm hơn 25% trang web đã biết, có nghĩa là nó có thể đã là một phần trong nhóm phát triển của bạn hoặc của khách hàng của bạn. Việc áp dụng rộng rãi WordPress này khiến việc tích hợp Vue.js trở thành một lựa chọn tự nhiên để phát triển front-end.

Cách sử dụng WordPress và Vue?

Ở đây chúng ta sẽ thảo luận về 2 cách sử dụng Vue và WP hoàn toàn. Hãy xem cách làm cho chúng hoạt động cùng nhau!

1. Tạo SPA làm trang web/ứng dụng phụ

Vue có thể được sử dụng để phát triển một "trang web phụ" trong bảng quản trị WordPress. Cách tiếp cận này có lợi cho việc tạo các plugin phức tạp hoặc các trang quản trị tùy chỉnh yêu cầu hệ thống tab hoặc hệ thống nhiều trang.

Không giống như các phương pháp WordPress thông thường, sử dụng Vue cho phép chuyển đổi mượt mà hơn giữa các trang mà không cần tải lại toàn bộ trang, nâng cao trải nghiệm người dùng.

Ngoài ra, Vue cho phép tạo các thành phần giao diện người dùng tùy chỉnh và trang nhã hơn so với các thành phần giao diện người dùng WordPress tiêu chuẩn. Dưới đây là ví dụ về trang quản trị tùy chỉnh được tạo bằng Vue.

Giao diện người dùng (UI) được hiển thị ở đây thuộc về plugin WP Rocket trong bảng quản trị WordPress. Giao diện người dùng này hoàn toàn được tùy chỉnh và có các trang phụ riêng được trình bày dưới dạng tab. Mỗi tab tương ứng với một URL phụ riêng biệt, tạo điều kiện chia sẻ dễ dàng với người khác. Về cơ bản, nó giống một trang web thu nhỏ trong bảng quản trị WP.

Đạt được sự tùy chỉnh như vậy thật đơn giản với Vue và Vue-router. Tuy nhiên, có một khía cạnh cần được chú ý cẩn thận: xử lý URL. Do sự tồn tại chung của hai "trang web" – bảng quản trị WordPress và giao diện do Vue cung cấp – xung đột URL tiềm ẩn có thể phát sinh.

Để giải quyết mối lo ngại này, chỉ cần điều chỉnh đơn giản trong phiên bản Vue Router là đủ. Cụ thể, bạn cần sửa đổi hai tùy chọn:

  1. Tùy chọn cơ bản: Tùy chọn này phải được đặt thành tuyến trang WP tùy chỉnh của bạn.
  2. Tùy chọn chế độ: Tùy chọn này nên được đặt thành "băm".

Việc áp dụng chế độ "băm" đảm bảo rằng băm được sử dụng thay vì sửa đổi toàn bộ URL, do đó giảm thiểu xung đột tiềm ẩn.

Hơn nữa, điều đáng chú ý là bạn cũng có thể thay thế các trang WordPress khác, chẳng hạn như trang soạn thảo nội dung, bằng cách sử dụng các kỹ thuật tương tự, như được minh họa bởi trình soạn thảo Elementor .

Trình chỉnh sửa WordPress thông thường chuyển đổi thành giao diện có cấu trúc, sử dụng các ký hiệu băm để phân định các URL phụ.

Về cơ bản, có thể thiết lập một trang web phụ trong các phần khác nhau của bảng quản trị WordPress, chẳng hạn như trang plugin, trình chỉnh sửa, bảng điều khiển hoặc giao diện văn phòng trung gian.

Để đạt được điều này, quy trình này bao gồm việc sử dụng Vue CLI hoặc một công cụ thay thế để tạo Ứng dụng một trang Vue (SPA) độc lập. Sau đó, hãy định cấu hình các tùy chọn cơ sở và chế độ của bộ định tuyến cho phù hợp, xuất ứng dụng và tích hợp nó vào WordPress thông qua các móc thích hợp trong hệ sinh thái WordPress.

2. Tạo các thành phần có thể tái sử dụng trên Frontend hoặc Admin

Các trang web kết hợp nhiều tương tác vi mô khác nhau, chẳng hạn như chuyển đổi menu, menu thả xuống, đàn accordion và băng chuyền. Các phần tử này cùng nhau tạo thành cái được gọi là Bộ giao diện người dùng. Ngoài ra, một số thành phần nhất định có thể tương tác không đồng bộ với dữ liệu, chẳng hạn như nút thích hoặc bỏ phiếu, biểu mẫu và trình phát phương tiện tùy chỉnh.

Điều quan trọng cần lưu ý là khi tích hợp các thành phần Vue.js vào WordPress hoặc bất kỳ mẫu phụ trợ nào khác, việc chọn phiên bản Runtime + Compiler của Vue có thể là cần thiết. Điều này đảm bảo chức năng liền mạch và khả năng tương thích với môi trường phụ trợ.

Một số thành phần nhất định sẽ tương tác với dữ liệu được hiển thị, trong khi những thành phần khác thì không. Dựa trên sự khác biệt này, các loại thành phần khác nhau sẽ cần được tạo ra. Một số thành phần sẽ có mẫu của họ.

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

Trong khi những người khác sẽ sử dụng đánh dấu được tạo ra.

<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 cũng có thể được tận dụng để tạo các Thành phần Web gốc , mang lại lợi thế về khả năng sử dụng lại trên nhiều dự án khác nhau tương tự như ionons (được tạo bằng stencil JS).

Các thành phần này có thể được tích hợp vào các mẫu hoặc hàm WordPress PHP tạo HTML. Dữ liệu có thể được chuyển đến các phiên bản hoặc thành phần Vue từ WordPress bằng cách xâu chuỗi nó thành một biến toàn cục hoặc gán trực tiếp nó cho thành phần prop. Khái niệm này liên quan đến việc tải Vue và liên kết các phiên bản Vue với ID HTML để tích hợp liền mạch.

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

Đây là phần trên và dưới của Mẫu WP.

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

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

3. Tạo một trang web Frontend riêng biệt

Cuối cùng, điều quan trọng là phải làm nổi bật một đặc điểm có thể rõ ràng đối với một số người, nhưng không phải tất cả.

Kể từ phiên bản 4.7, WordPress đã kết hợp API REST, cho phép các nhà phát triển truy cập vào nhiều điểm cuối khác nhau và truy xuất dữ liệu như bài đăng, trang và trường tùy chỉnh với sự hỗ trợ của plugin. Chức năng này phù hợp với khái niệm CMS không đầu.

Trên thực tế, các ứng dụng của khả năng này vượt xa những gì bạn có thể nghĩ đến ban đầu. Giao diện người dùng riêng biệt của bạn, sử dụng API REST của WordPress, có thể có nhiều dạng khác nhau:

  • Ứng dụng hoặc trang web SPA (Ứng dụng một trang)
  • Ứng dụng hoặc trang web SSR (Kết xuất phía máy chủ)
  • Một trang web được tạo tĩnh theo kiến ​​trúc JAMStack
  • Ứng dụng web lũy tiến (PWA)
  • Một ứng dụng di động
  • Một chương trình phụ trợ nguyên khối khác sử dụng công cụ tạo mẫu đơn giản hơn hoặc nhanh hơn

Về bản chất, bất kỳ ứng dụng khách nào có thể sử dụng API và nơi bạn giữ toàn quyền kiểm soát giao diện người dùng đều khả thi. Về cơ bản, WordPress hoạt động như một nguồn dữ liệu giống như API phụ trợ. Đáng chú ý, các plugin như ACF (Trường tùy chỉnh nâng cao) hoặc Pod cũng có thể hiển thị các trường tùy chỉnh thông qua API.

Hơn nữa, bạn có thể linh hoạt thêm các điểm cuối tùy chỉnh vào API WordPress và sử dụng hệ thống xác thực, bao gồm cả việc tạo nonces và các thành phần cần thiết khác.

Kết thúc

Tóm lại, việc tích hợp Vue.js với WordPress mang đến cho các nhà phát triển một giải pháp mạnh mẽ để tạo trải nghiệm web năng động và tương tác trong hệ sinh thái WordPress. Vue.js, được biết đến với tính đơn giản và linh hoạt, hỗ trợ các nhà phát triển xây dựng các ứng dụng web hiện đại một cách hiệu quả một cách dễ dàng thông qua kiến ​​trúc dựa trên thành phần.

Divi WordPress Theme