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
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.zipAnd Order WP egy WooCommerce-re épülő WordPress plugin éttermi rendelések egyszerűsített kezeléséhez.
- Készítő: AndrasG + AI
- Verzió: 1.2.0
- URL: https://github.com/galandras12/and-Older-WP
- Licenc: GPL-2.0-or-later
É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-ajaxvégpontjain fut, és a natívwoocommerce_add_to_cart_fragmentsfragmenteket 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):
- Sorba állítja a
wc-add-to-cartéswc-cart-fragmentsszkripteket akkor is, ha a WooCommerce beállítás vagy egy optimalizáló bővítmény kihagyná őket. - Pótolja a hiányzó
add_to_cart_button ajax_add_to_cartosztályokat és adata-product_idattribútumot a sablon által felülírt gombokon. - 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 pluginrender_blockszinten leszedi a blokk Interactivity jelöléseit, így a gomb a bevált klasszikus AJAX útvonalra kerül. A téma osztályai, azaria-label, adata-product_idés adata-quantityérintetlen marad. A gomb feliratát a plugin adata-wp-contextJSON-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. - Ha a natív szkript egyáltalán nem érhető el, saját
wc-ajaxvé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_AT → de_DE, en_GB → en_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
- Másold a plugint a WordPress
wp-content/plugins/and-order-wpkönyvtárába. - Aktiváld a WooCommerce bővítményt.
- Aktiváld az And Order WP plugint.
- 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_AT→de_DE,en_GB→en_US,fr_CA→fr_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 adata-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 adata-wp-contextJSONaddToCartTextmező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 acart.htmlsablon) 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-cartszkript sem veszi át, mert az szándékosan kihagyja awc-interactivegombokat. A plugin mostantólrender_blockszinten 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-interactivegombokat, í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_initaplugins_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_Postfelté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-readyosztá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 Pluginsmellé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.