Dátum a pénztárban
English version
Ez a plugin azt teszi lehetővé, hogy a WooCommerce pénztár oldalán egy dátumot válasszon ki a vásárló. Ez a dátum a megrendeléshez kapcsolódik és megjeleníthető a rendelések listájában és/vagy a megrendelés paramétereinél is.
Főbb funkciók
- Választható dátumok paraméterezése
A plugin beállításainál számos paraméter segít a választható időtartam beállításában. - Tiltott napok
Megadhatsz napokat, amelyeket semmiképpen nem lehet kiválasztani. (Pl. ünnepnapok) - Választható megjelenési hely
Kiválasztható, hogy a WooCommerce pénztár oldalon belül hol jelenjen meg a dátum mező - Szállítási mód hozzárendelés
Megadható, hogy mely szállítási módok esetén jelenjen meg a dátum választás.
(Ha a WooCommerce-ben új szállítási módot hozol létre, akkor annál alapértelmezésben nem jelenik meg.) - Egyedi megjelenés lehetősége
A plugin több lehetőséget kínál a megjelenés egyedivé tételére. (Ezek használatához kicsit több WordPress ismeretre van szükség.) - Utánrendelés figyelése
Beállíthatod, hogy a plugin figyelje, hogy a megrendelésben van-e olyan tétel, amiből utánrendelésre van szükség (nincs készleten elegendő) és ez esetben további beállított napokkal növelje a legkorábbi kiválasztható dátumot.
A plugin beállításait a WooCommerce / Beállítások oldal „Integráció” fülön, a „Dátum bekérése a pénztárban” oldalon találod!
Szűrők és horgok
A program-kódokat a /libs/hooks.php
fájlban találod.
- A napok megjelenítése a dátum választó doboz fejlécében
add_filter( 'request_a_date_render_days_in_week', 'request_a_date_403_render_days_in_week', 10, 1 );
- Üres nap megjelenítése a naptárban (helyfoglaló)
add_filter( 'request_a_date_render_empty_day', 'request_a_date_403_render_empty_day', 10, 1);
- Egy nap megjelenítése a naptárban
add_filter( 'request_a_date_render_day', 'request_a_date_403_render_day', 10, 3);
- Gomb megjelenítése a dátum választó mező mellett
add_filter( 'request_a_date_render_button', 'request_a_date_403_render_button', 10, 1);
- A dátum választó megjelenítése táblázatos megjelenítés esetén
add_filter('request_a_date_render_in_table', 'request_a_date_403_render_in_table', 10, 3);
- A dátum választó megjelenítése nem táblázatos megjelenítés esetén
add_filter('request_a_date_render_in_div', 'request_a_date_403_render_in_div', 10, 3);
- Választott dátum megjelenítése a „thakyou” oldalon
add_filter('request_a_date_render_in_thankyou', 'request_a_date_403_render_in_thankyou', 10, 2);
- Dátum megjelenítése emailben
add_filter('request_a_date_render_in_email', 'request_a_date_403_render_in_email', 10, 2);
- Első lehetséges nap módosítása
(Ez a szűrő nincs deklarálva, de ha definiálod, akkor használva lesz.)function request_a_date_my_modify_first($date) { $date = date_i18n('Y-m-d', strtotime('+1 day', strtotime($date))); return $date; } add_filter('request_a_date_modify_first', 'request_a_date_my_modify_first', 10, 1);
- Utolsó lehetséges nap módosítása
(Ez a szűrő nincs deklarálva, de ha definiálod, akkor használva lesz.)function request_a_date_my_modify_last($date) { $date = date_i18n('Y-m-d', strtotime('+1 day', strtotime($date))); return $date; } add_filter('request_a_date_modify_last', 'request_a_date_my_modify_last', 10, 1);
- Legkorábbi nap növelése
(Ez a szűrő nincs deklarálva, de ha definiálod, akkor használva lesz.)function my_add_custom_days($days_count) { // A $days_count változóban azt kapja meg, hogy az utánrendelés miatt hány // nappal kell későbbinek lennie a legkorábbi választható dátumnak. return $days_count; } add_filter('request_a_date_add_custom_days', 'my_add_custom_days', 10, 1);
Gomb testreszabása
A tapasztalat azt mutatja, hogy a témák sokfélesége miatt általában szükség van a gomb megjelenésének módosítására. Alapértelmezésben ez a class="button"
osztályt kapja, ami az esetek többségében megfelelő, de sok esetben másra van szükség.
Az alábbi példában ezt módosítjuk a Bootstrap-nak megfelelően és a class="btn btn-secondary"
osztályt adjuk a gombnak.
// Eredeti szűrő törlése remove_filter( 'request_a_date_render_button', 'request_a_date_403_render_button'); function request_a_date_my_render_button($script) { // Itt használjuk a saját osztályt: $html = '<button type="button" '.$script.' class="btn btn-secondary">'. '<span class="dashicons dashicons-calendar-alt"></span>'. '</button>'; return $html; } // Alkalmazzuk az új szűrőt add_filter( 'request_a_date_render_button', 'request_a_date_my_render_button', 20, 1);
Támogatás Facebook csoport-ban.
Letölthető ide kattintva.
Gyakori kérdések
-
Szeretném, ha egyes termék kategóriák esetén későbbi lenne a legkorábbi dátum. Lehetséges ez?
Igen, lehetséges. Ehhez a (child) témádfunctions.php
-t kell szerkesztened és az alábbi kódot helyezned el benne:function my_add_custom_days($days_count) { // A $days_count változóban azt kapja meg, hogy az utánrendelés miatt hány // nappal kell későbbinek lennie a legkorábbi választható dátumnak. // Ezek a termékek vannak a kosárban $items = WC()->cart->get_cart(); $add = 0; foreach ($items as $item) { $terms = get_the_terms( $item['product_id'], 'product_cat' ); foreach ($terms as $term) { // A kategória slug vizsgálata switch ($term->slug){ // Ezen az elven minden slug vizsgálható case 'other': // Beállítod, ha nem nagyobb már. Így fogod megkapni a legmagasabb értéket. if ($add < 4) { // Természetesen annyira állítod, amennyire akarod $add = 4; } break; default : } } } if ($add != 0) { // Ha növelni akarod a napok számát // return $days_count + $add; // VAGY // Ha a kettő közül a magasabbik értékét akarod használni if ($add > $days_count) { return $add; } else { return $days_count; } } else { return $days_count; } } add_filter('request_a_date_add_custom_days', 'my_add_custom_days', 10, 1);