WP Manifestindependent plugin directory
manifest / ecommerce / and-older-wp

And Order WP

Modern WooCommerce alapú éttermi rendeléskezelő menükhöz, kategóriákhoz, képekhez, variációkhoz, rendelési összetevőkhöz és lebegő kosárhoz.

by AndrasG + AI · github.com/galandras12/and-older-wp · website

0stars
0forks

Install

No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:

wp plugin install https://github.com/galandras12/and-older-wp/archive/refs/heads/main.zip

And Order WP egy WooCommerce-re épülő WordPress plugin éttermi rendelések egyszerűsített kezeléséhez.

Élő bemutató

A plugin működés közben megtekinthető egy ingyenes teszt weboldalon: https://andorder.freedev.app/

Követelmények

WordPress 6.5 vagy újabb (a Requires Plugins fejléc miatt)
WooCommerce 7.0 vagy újabb
PHP 7.4 vagy újabb

HPOS (nagy teljesítményű rendeléstárolás) és klasszikus rendeléstárolás mellett egyaránt működik.

Fő funkciók

Éttermi alapok

  • Modern WordPress admin vezérlőpult éttermi áttekintéssel (mai rendelések, feldolgozás alatt, menüelemek, kategóriák).
  • WooCommerce termékekre épülő étel- és itallista, képes termékkategóriák menü kategóriaként.
  • Aktiváláskor létrejövő éttermi attribútumok és alapértelmezett értékeik: méret, köret, szósz, feltét, allergén jelölés.
  • Éttermi termékadatok minden ételhez: elkészítési idő, csípősség, allergének, kiemelt ajánlat. Ezek megjelennek a termékoldalon, a terméklistákban (ajánlat jelölés), a kosárban (allergének) és a rendelési tételeken is.
  • Konyhai rendelésösszegzés a rendelés szerkesztő képernyőn: állapot, fizetési mód, megjegyzés, becsült elkészítési idő és tételenkénti allergének.

Lebegő kosár

Teljesen testreszabható, a beállítások Lebegő kosár fülén:

Beállítás Választható értékek
Be-/kikapcsolás igen / nem
Gomb formája kerek / négyzetes
Ikon bevásárló kocsi / szatyor / troli
Gomb színe tetszőleges hex szín
Ikon színe tetszőleges hex szín
Elhelyezkedés bal felső / jobb felső / bal alsó / jobb alsó sarok
Tartalom elrendezése tételes lista (szöveg + ár) / négyzetes rács (termékfotóval)
Tételszám buborék igen / nem

Viselkedés:

  • A panel animációval csúszik be: jobb oldali pozíciónál jobbról, bal oldalinál balról.
  • Nyitott állapotban a háttér elhomályosodik (backdrop-filter).
  • Bezárás a sarokban lévő X-szel, a Vásárlás folytatása gombbal, a háttérre kattintva vagy Esc-kel.
  • Reszponzív: telefonon a képernyő 90%-át, asztali gépen legfeljebb 40%-át tölti ki.
  • Tartalma: kosártételek (mennyiség módosítással és eltávolítással), részösszeg, kedvezmény, adó (ÁFA) és végösszeg.
  • Minden művelet a WooCommerce wc-ajax végpontjain fut, és a natív woocommerce_add_to_cart_fragments fragmenteket adja vissza, így a téma fejlécében lévő mini kosár is frissül.

AJAX „Kosárba teszem" javítás

Az áruházi főoldalon és a kategórialistákon gyakran nem működik az AJAX-os kosárba tétel. A plugin négy ponton avatkozik be (mind ki-/bekapcsolható az Általános fülön):

  1. Sorba állítja a wc-add-to-cart és wc-cart-fragments szkripteket akkor is, ha a WooCommerce beállítás vagy egy optimalizáló bővítmény kihagyná őket.
  2. Pótolja a hiányzó add_to_cart_button ajax_add_to_cart osztályokat és a data-product_id attribútumot a sablon által felülírt gombokon.
  3. Blokk termékgombok: a WooCommerce „Termék gomb” blokk (Termékgyűjtemény / Minden termék) nem a klasszikus szkriptet használja, hanem az Interactivity API-t és a Store API-t — a klasszikus szkript szándékosan ki is hagyja őket (.add_to_cart_button:not(.wc-interactive)). Ha ezek a script modulok nem töltődnek be, a gomb kattintásra semmit nem csinál. A plugin render_block szinten leszedi a blokk Interactivity jelöléseit, így a gomb a bevált klasszikus AJAX útvonalra kerül. A téma osztályai, az aria-label, a data-product_id és a data-quantity érintetlen marad. A gomb feliratát a plugin a data-wp-context JSON-ból menti ki és írja be, mert a szerveroldali jelölésben a felirat spanje üres — azt egyébként a böngészőben az Interactivity API töltené fel.
  4. Ha a natív szkript egyáltalán nem érhető el, saját wc-ajax végponttal és kliensoldali kezelővel veszi át a gombok kezelését.

Mind a négy réteg után ugyanaz a woocommerce_add_to_cart_fragments frissítés fut le, tehát a lebegő kosár és a téma mini kosara is azonnal frissül.

Fájlszerkezet

and-order-wp.php                        Plugin fejléc, konstansok, HPOS deklaráció
uninstall.php                           Eltávolításkori takarítás
includes/
  class-and-order-wp.php                Betöltő és közös segédfüggvények
  class-and-order-wp-settings.php       Beállítások tárolása és tisztítása
  class-and-order-wp-install.php        Aktiválás, alapértelmezett attribútumok
  class-and-order-wp-admin.php          Menü, vezérlőpult, füles beállítási felület
  class-and-order-wp-product-data.php   Éttermi termékadatok (admin + frontend)
  class-and-order-wp-orders.php         Konyhai rendelésösszegző (HPOS-kompatibilis)
  class-and-order-wp-ajax-cart.php      AJAX kosárba tétel helyreállítása
  class-and-order-wp-blocks.php         WooCommerce blokkok kijavítása
  class-and-order-wp-floating-cart.php  Lebegő kosár
assets/css/admin.css                    Admin stílusok
assets/css/floating-cart.css            Lebegő kosár stílusok
assets/js/admin.js                      Admin viselkedés, élő előnézet
assets/js/floating-cart.js              Lebegő kosár viselkedés
languages/
  and-order-wp.pot                      Fordítási sablon
  and-order-wp-{en_US,de_DE,fr_FR,       Kész fordítások (.po forrás + .mo bináris)
                ro_RO,sk_SK,pl_PL}.po/.mo

Nyelvek

A felület forrásnyelve magyar. A plugin kész fordítást szállít az alábbi nyelvekre — mind a 165 szöveg le van fordítva:

Nyelv Területi beállítás Automatikusan lefedett változatok
Angol en_US en_GB, en_CA, en_AU, en_NZ, en_ZA
Német de_DE de_AT, de_CH, de_DE_formal, de_CH_informal
Francia fr_FR fr_BE, fr_CA
Román ro_RO
Szlovák sk_SK
Lengyel pl_PL

A WordPress a pontos területi beállítás fájlját keresi, és nem esik vissza magától az alapnyelvre. Ezért a plugin egy load_textdomain_mofile szűrővel visszavezeti a változatokat (de_ATde_DE, en_GBen_US stb.), így az osztrák, svájci, belga, kanadai és brit beállítás is fordítva jelenik meg.

A nyelv a WordPress webhelynyelvét követi, az adminban pedig a felhasználó saját profilnyelvét. A bővítmény listaoldali leírása is fordítva jelenik meg.

Az aktiváláskor létrejövő attribútumok (méret, köret, szósz, feltét, allergén) és alapértelmezett értékeik szintén a webhely nyelvén jönnek létre. Az attribútum-slugok szándékosan változatlanok maradnak, hogy a már működő webáruházakban ne keletkezzenek párhuzamos attribútumok.

Telepítés

  1. Másold a plugint a WordPress wp-content/plugins/and-order-wp könyvtárába.
  2. Aktiváld a WooCommerce bővítményt.
  3. Aktiváld az And Order WP plugint.
  4. Nyisd meg az adminban az And Order WP → Beállítások menüpontot.

A Rendszerállapot fülön ellenőrizheted a WooCommerce verziót, a HPOS állapotát, a kompatibilitási deklarációt, az AJAX kosárba tétel beállítását és az éttermi attribútumokat.

Fejlesztőknek

Szűrők:

Szűrő Leírás
and_order_wp_floating_cart_active false-ra állítva elrejti a lebegő kosarat az adott kérésben.

Esemény:

Esemény Leírás
and_order_wp_cart_updated A document.body-n sül el minden sikeres fragmentcsere után.

Eltávolítás

Az uninstall.php törli a plugin beállításait és az éttermi termék metaadatokat. A globális attribútumokat (méret, köret, szósz, feltét, allergén) szándékosan meghagyja, mert a meglévő termékvariációk hivatkoznak rájuk.

Changelog

1.2.0

  • Új: teljes fordítás angol, német, francia, román, szlovák és lengyel nyelvre — mind a 165 felületi szöveg, a hibaüzenetekkel, a lebegő kosárral, a rendszerállapot fülrel és a bővítmény leírásával együtt.
  • Új: nyelvi változatok automatikus visszavezetése az alapnyelvre (de_ATde_DE, en_GBen_US, fr_CAfr_FR …), mert a WordPress ezt magától nem teszi meg.
  • Új: az aktiváláskor létrejövő attribútumok és alapértelmezett értékeik a webhely nyelvén jönnek létre.
  • Javítva: a WooCommerce hiányát jelző üzenet két külön szövegdarabból állt össze, ami eltérő szórendű nyelveken fordíthatatlan volt; most egyetlen, helyőrzős mondat.

1.1.3

  • Javítva: az 1.1.1 után a blokk termékgombokról eltűnt a „Kosárba teszem" felirat. A szerver által küldött jelölésben a feliratot tartalmazó <span> üres — a szöveget a böngészőben a data-wp-text="state.addToCartText" írja be. Az Interactivity attribútumok eltávolításakor így felirat nélküli gomb maradt. A plugin mostantól a data-wp-context JSON addToCartText mezőjéből menti ki a feliratot (visszaesésként a termék saját gombfeliratára), és csak akkor írja be, ha a gomb tényleg üres.

1.1.2

  • Javítva: az „Üres kosár” blokk Browse store gombja a gyári /shop útvonalra mutatott a boltoldal tényleges állandó hivatkozása helyett. A WooCommerce a Kosár oldal (blokk témáknál a cart.html sablon) tartalmába beégeti a bolt akkori URL-jét, és később nem frissíti — a plugin most futásidőben a valódi boltoldalra irányítja. Új kapcsoló: Üres kosár „Browse store” linkjének javítása (alapból be). Csak a beégetett, alapértelmezett bolt-útvonalat írja át, és csak akkor, ha a valódi boltoldal ettől eltér; idegen hosztra mutató és minden egyéb hivatkozás érintetlen marad.

1.1.1

  • Javítva: a WooCommerce „Termék gomb” blokk (Termékgyűjtemény / Minden termék) „Kosárba teszem” gombja nem tette kosárba a terméket. A blokk az Interactivity API-ra és a Store API-ra épül; ha ezek a script modulok nem futnak le, a gomb kattintásra semmit nem csinál, és a klasszikus wc-add-to-cart szkript sem veszi át, mert az szándékosan kihagyja a wc-interactive gombokat. A plugin mostantól render_block szinten a klasszikus AJAX útvonalra állítja át ezeket a gombokat. Új kapcsoló: Blokk termékgombok klasszikus AJAX módban (alapból be).
  • Javítva: a lebegő kosár tartalék kosárba tétel kezelője kihagyja a wc-interactive gombokat, így nem ütközik az Interactivity API-val ott, ahol az működik.

1.1.0

  • Javítva: a HPOS kompatibilitási deklaráció soha nem futott le (a before_woocommerce_init a plugins_loaded -1 prioritásán tüzel).
  • Javítva: a konyhai meta box nem jelent meg HPOS mellett (hibás képernyő-azonosító és WP_Post feltételezés).
  • Javítva: a „Variációk" almenü fejléckiküldés után próbált átirányítani; mostantól sima link.
  • Javítva: a „Választható variációk" kártya és a „Rendelések" link rossz URL-re mutatott (utóbbi HPOS nélkül hibát adott).
  • Javítva: az éttermi termékadatok sehol nem jelentek meg - most a termékoldalon, a listákban, a kosárban és a rendelési tételeken is láthatók.
  • Javítva: az admin stíluslap nem töltődött be a rendelés- és termékképernyőn.
  • Javítva: az and-order-card-ready osztályhoz nem tartozott animáció.
  • Javítva: a mai rendelések számlálása az összes rendelés ID-ját betöltötte, és a szerver időzónáját használta a WordPress időzónája helyett.
  • Javítva: hiányzó nonce- és jogosultság-ellenőrzés a termékmezők mentésénél.
  • Javítva: teljes i18n (load_plugin_textdomain + languages/and-order-wp.pot), minden felületi szöveg fordítható.
  • Javítva: ellentmondó verziókövetelmény (Requires Plugins mellé Requires at least: 6.5).
  • Új: füles beállítási felület (Általános / Lebegő kosár / Rendszerállapot) élő előnézettel.
  • Új: lebegő kosár teljes testreszabással.
  • Új: AJAX „Kosárba teszem" helyreállítása az áruházi listákon.
  • Új: aktiváláskor az attribútumok alapértelmezett értékei is létrejönnek.
  • Új: uninstall.php, LICENSE, readme.txt.

1.0.0

  • Első kiadás.