Jak używać Vue JS z WordPressem

Rifat Poradniki WordPress May 3, 2024

W dzisiejszym cyfrowym krajobrazie tworzenie dynamicznych i interaktywnych doświadczeń internetowych stało się dla programistów najwyższym priorytetem. Wraz z rozwojem frameworków JavaScript, takich jak Vue.js i powszechnym wykorzystaniem systemów zarządzania treścią (CMS), takich jak WordPress, połączenie tych technologii stało się potężnym rozwiązaniem do tworzenia bogatych w funkcje witryn internetowych.

W tym przewodniku dowiemy się, jak wykorzystać moc Vue.js w ekosystemie WordPress. Przeprowadzimy przez proces konfiguracji Vue.js z WordPress, obejmując wszystko, od instalacji po zaawansowane techniki bezproblemowej integracji. Niezależnie od tego, czy jesteś początkującym, czy doświadczonym programistą, ten przewodnik wyposaży Cię w wiedzę i narzędzia potrzebne do efektywnego korzystania z Vue.js w WordPress i tworzenia wciągających doświadczeń internetowych.

Co to jest Vue Js?

Vue.js to progresywny framework JavaScript służący do budowania interfejsów użytkownika. Jest znany ze swojej prostoty i elastyczności, dzięki czemu jest popularnym wyborem wśród programistów do tworzenia dynamicznych i interaktywnych aplikacji internetowych.

Vue.js przyjmuje architekturę opartą na komponentach, umożliwiając programistom dzielenie aplikacji na modułowe komponenty wielokrotnego użytku, którymi można łatwo zarządzać i konserwować. Dzięki łagodnej krzywej uczenia się i obszernej dokumentacji Vue.js umożliwia programistom skuteczne i łatwe tworzenie nowoczesnych aplikacji internetowych.

Twórz niesamowite strony internetowe

Z najlepszym darmowym kreatorem stron Elementor

Zacząć teraz

Dlaczego warto używać Vue w WordPressie?

Istnieje kilka istotnych powodów, dla których warto używać Vue.js w połączeniu z WordPress.

Po pierwsze, Vue.js słynie ze swojej prostoty, co czyni go idealnym wyborem dla programistów, którzy chcą szybko nauczyć się i zastosować nowoczesny framework JavaScript.

Dodatkowo istnieją praktyczne korzyści z integracji Vue.js z WordPress.

Na przykład tradycyjne biblioteki, takie jak jQuery, mogą być mniej skalowalne i w niektórych scenariuszach mogą prowadzić do konfliktów. Wykorzystując Vue.js wraz z WordPressem jako API, programiści mogą znacząco zwiększyć szybkość i wydajność swoich stron internetowych.

Vue.js jest również wysoce komponowalny, co pozwala na łatwiejszą implementację interfejsów użytkownika w ramach wtyczek, paneli administracyjnych i innych obszarów witryny WordPress. Architektura oparta na komponentach sprawia, że ​​jest to wszechstronne i wydajne narzędzie do tworzenia nowoczesnych aplikacji internetowych w ekosystemie WordPress.

Co więcej, WordPress obsługuje ponad 25% znanej sieci, co oznacza, że ​​prawdopodobnie jest już częścią Twojego stosu programistycznego lub Twoich klientów. To powszechne przyjęcie WordPressa sprawia, że ​​integracja Vue.js jest naturalnym wyborem w przypadku rozwoju front-endu.

Sposoby korzystania z WordPressa i Vue?

Tutaj omówimy łącznie 2 sposoby korzystania z Vue i WP. Zobaczmy, jak sprawić, by ze sobą współpracowały!

1. Utwórz SPA jako podstronę/aplikację

Vue można wykorzystać do stworzenia „podstrony internetowej” w panelu administracyjnym WordPress. To podejście jest korzystne przy tworzeniu złożonych wtyczek lub niestandardowych stron administracyjnych, które wymagają systemów kart lub systemów wielostronicowych.

W przeciwieństwie do zwykłych metod WordPress, korzystanie z Vue pozwala na płynniejsze przejścia między stronami bez konieczności przeładowywania całej strony, poprawiając wygodę użytkownika.

Dodatkowo Vue umożliwia tworzenie bardziej eleganckich i spersonalizowanych elementów interfejsu użytkownika w porównaniu ze standardowymi elementami interfejsu użytkownika WordPress. Poniżej znajduje się przykład niestandardowej strony administracyjnej utworzonej przy użyciu Vue.

Pokazany tutaj interfejs użytkownika (UI) należy do wtyczki WP Rocket w panelu administracyjnym WordPress. Ten interfejs użytkownika jest całkowicie dostosowany i zawiera własne podstrony prezentowane w postaci zakładek. Każda zakładka odpowiada odrębnemu podadresowi URL, co ułatwia udostępnianie innym. Zasadniczo przypomina miniaturową stronę internetową w panelu administracyjnym WP.

Osiągnięcie takiego dostosowania jest proste dzięki Vue i Vue-router. Jest jednak jeden aspekt wymagający szczególnej uwagi: obsługa adresów URL. Biorąc pod uwagę współistnienie dwóch „stron internetowych” – panelu administracyjnego WordPress i interfejsu opartego na Vue – mogą pojawić się potencjalne konflikty adresów URL.

Aby rozwiązać ten problem, wystarczy prosta regulacja w instancji Vue Router. W szczególności musisz zmodyfikować dwie opcje:

  1. Opcja podstawowa: powinna być ustawiona na niestandardową trasę strony WP.
  2. Opcja trybu: powinna być ustawiona na „hash”.

Przyjęcie trybu „hash” zapewnia użycie skrótów zamiast modyfikowania całego adresu URL, łagodząc w ten sposób potencjalne konflikty.

Co więcej, warto zauważyć, że możesz zastąpić także inne strony WordPress, takie jak strona edytora treści, stosując podobne techniki, jak na przykładzie edytora Elementor .

Konwencjonalny edytor WordPress przekształca się w ustrukturyzowany interfejs, wykorzystujący symbole skrótu do wyznaczania podadresów URL.

Zasadniczo możliwe jest utworzenie podstrony internetowej w ramach różnych sekcji panelu administracyjnego WordPress, takich jak strony wtyczek, edytory, dashboardy lub interfejsy Middle-Office.

Aby to osiągnąć, proces obejmuje wykorzystanie Vue CLI lub alternatywnego narzędzia do wygenerowania samodzielnej aplikacji Vue Single Page Application (SPA). Następnie skonfiguruj odpowiednio opcje bazowe i trybowe routera, eksportując aplikację i integrując ją z WordPressem za pomocą odpowiednich hooków w ekosystemie WordPress.

2. Utwórz komponenty wielokrotnego użytku w interfejsie użytkownika lub na poziomie administratora

Strony internetowe zawierają różne mikrointerakcje, takie jak przełączniki menu, listy rozwijane, akordeony i karuzele. Elementy te wspólnie tworzą tak zwany zestaw interfejsu użytkownika. Ponadto niektóre komponenty mogą wchodzić w asynchroniczną interakcję z danymi, na przykład przyciski „Lubię to” lub „Głosuj”, formularze i niestandardowe odtwarzacze multimedialne.

Należy pamiętać, że podczas integrowania komponentów Vue.js z WordPressem lub innym szablonem zaplecza może być konieczne wybranie wersji Vue Runtime + Compiler . Zapewnia to bezproblemową funkcjonalność i kompatybilność ze środowiskiem backendowym.

Niektóre komponenty będą wchodzić w interakcję z renderowanymi danymi, a inne nie. W oparciu o to rozróżnienie konieczne będzie utworzenie różnych typów komponentów. Niektóre komponenty będą miały swój szablon.

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

Podczas gdy inni będą korzystać z wygenerowanych znaczników.

<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 można również wykorzystać do tworzenia natywnych komponentów sieciowych , oferując możliwość ponownego użycia w różnych projektach, podobnie jak ionicons (stworzone za pomocą Stencil JS).

Komponenty te można zintegrować z szablonami PHP WordPress lub funkcjami generującymi HTML. Dane mogą być przekazywane do instancji lub komponentów Vue z WordPressa, poprzez dodanie ich do zmiennej globalnej lub bezpośrednie przypisanie do właściwości komponentu. Koncepcja obejmuje ładowanie Vue i kojarzenie instancji Vue z identyfikatorami HTML w celu zapewnienia bezproblemowej integracji.

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

Oto górna i dolna część szablonu WP.

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

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

3. Utwórz oddzielną witrynę frontendową

Na koniec ważne jest, aby podkreślić funkcję, która może być widoczna dla niektórych, ale nie dla wszystkich.

Od wersji 4.7 WordPress zawiera interfejs API REST, umożliwiający programistom dostęp do różnych punktów końcowych i pobieranie danych, takich jak posty, strony i pola niestandardowe, za pomocą wtyczek. Ta funkcjonalność jest zgodna z koncepcją Headless CMS.

W rzeczywistości zastosowania tej możliwości wykraczają daleko poza to, co może początkowo przyjść na myśl. Twój oddzielny interfejs, który korzysta z interfejsu API REST WordPress, może przybierać różne formy:

  • Aplikacja lub strona internetowa SPA (Single Page Application).
  • Aplikacja lub witryna internetowa SSR (renderowana po stronie serwera).
  • Strona internetowa generowana statycznie, zgodna z architekturą JAMStack
  • Progresywna aplikacja internetowa (PWA)
  • Aplikacja mobilna
  • Kolejny monolityczny backend wykorzystujący prostszy lub szybszy silnik szablonów

Zasadniczo opłacalny jest każdy klient, który może korzystać z API i gdzie zachowujesz pełną kontrolę nad frontendem. WordPress zasadniczo służy jako źródło danych podobne do backendowego API. Warto zauważyć, że wtyczki takie jak ACF (Advanced Custom Fields) lub Pods mogą również udostępniać niestandardowe pola za pośrednictwem interfejsu API.

Co więcej, masz możliwość dodawania niestandardowych punktów końcowych do API WordPress i korzystania z systemu uwierzytelniania, w tym generowania wartości jednorazowych i innych niezbędnych komponentów.

Podsumowanie

Podsumowując, integracja Vue.js z WordPress oferuje programistom solidne rozwiązanie do tworzenia dynamicznych i interaktywnych doświadczeń internetowych w ekosystemie WordPress. Vue.js, znany ze swojej prostoty i elastyczności, umożliwia programistom skuteczne i łatwe tworzenie nowoczesnych aplikacji internetowych dzięki architekturze opartej na komponentach.

Divi WordPress Theme