Sablonok felülírása és mezőosztályok
A mezők HTML-sablonjának cseréje a sablonban, CSS-osztályok csoportokhoz, mezőkhöz és képmintákhoz, valamint a kiegészítő képek mérete.
A mezősablonok felülírása
Szekció neve “A mezősablonok felülírása”A bővítmény minden mezőtípushoz külön PHP-sablont használ a termékoldalon. Ezek a bővítmény templates/frontend mappájában vannak (például text.php, products.php, checkbox-group.php, image-swatch.php). A sablonod vagy gyermeksablonod mappájából felülírhatod őket, a bővítmény fájljainak módosítása nélkül, így a frissítés nem törli a változtatásaidat.
- Keresd meg a módosítandó mező sablonját a
templates/frontendmappában. - Másold ki a fájlt.
- Az aktív sablonod (lehetőleg a gyermeksablonod) mappájában hozz létre egy
product-extrasnevű mappát. - Másold a fájlt ebbe a mappába, és itt szerkeszd.
A bővítmény először a gyermeksablon product-extras mappájában keres, utána a szülősablonéban, és csak ha ott nincs meg a fájl, használja a saját alapértelmezett sablonját. Elég tehát csak azokat a fájlokat bemásolni, amelyeket módosítani akarsz.
wp-content/themes/sablonom-child/ product-extras/ text.php checkbox-group.phpNéhány gyakori példa arra, mit érdemes átalakítani:
- Szövegmező: a felirat és a beviteli mező kimenete (a mező
pewc-form-fieldosztályt kap), például táblázatos elrendezésre cserélve. - Termékek mező: a gyermektermékek listája táblázatban, bélyegképpel, jelölőnégyzettel, névvel, cikkszámmal és árral. A sablon ellenőrzi, hogy a gyermektermék megvásárolható és raktáron van-e, kezelt készletnél kiírja a mennyiséget, „független” mennyiségnél pedig mennyiségmezőt tesz minden termék mellé. Ehhez a Termékek mennyisége beállításnak Csak egy értéken kell állnia.
- Jelölőnégyzet-csoport: végigmegy a mező opcióin, és minden opcióhoz jelölőnégyzetet és feliratot ír ki. Kezeli a fix és a százalékos árat is.
A jelölőnégyzet-csoport sablonjában van egy kikommentezett szűrő, a pewc_filter_checkbox_group_field, amelyet bekapcsolhatsz, ha kell.
CSS-osztályok csoportokhoz, mezőkhöz és opciókhoz
Szekció neve “CSS-osztályok csoportokhoz, mezőkhöz és opciókhoz”Egyedi CSS-osztály háromféle helyen adható meg.
| Hová | Hol adod meg | Mire kerül |
|---|---|---|
| Csoport | a csoport Csoport CSS-osztálya beállítása | a csoport burkoló eleme |
| Mező | a mező Megjelenítés fülén a Mező CSS-osztálya | a mező elemére |
| Képminta opció | kódból (lásd lent) | az adott opció burkolójára |
A mezők osztályait kódból is módosíthatod a pewc_filter_single_product_classes szűrővel. Két paramétert kap: az osztályok tömbjét és a mezőt ($item), így például a mező azonosítója alapján feltételesen is hozzáadhatsz osztályt.
function sajat_mezo_osztalyok( $classes, $item ) { $classes[] = 'sajat-mezo'; return $classes;}add_filter( 'pewc_filter_single_product_classes', 'sajat_mezo_osztalyok', 10, 2 );A képminta opcióihoz külön osztályt három kampóval adhatsz:
pewc_after_option_params(művelet, 20-as prioritás, 5 paraméter): minden opciósorba egy szöveges mezőt tesz az osztálynak,pewc_after_option_params_titles(művelet, 20-as prioritás, 3 paraméter): az Osztály oszlopfejlécet írja ki,pewc_swatch_wrapper_classes(szűrő, 10-es prioritás, 5 paraméter): a megadott osztályt hozzáadja az opció burkolójához.
A kód beillesztése után a képminta mező opcióinál megjelenik az új osztálymező, és a beírt osztály csak arra az opcióra vonatkozik.
A kiegészítő képek mérete
Szekció neve “A kiegészítő képek mérete”A mezőkhöz feltöltött képek a sablon „thumbnail” (bélyegkép) méretét használják. Ezt két szűrővel cserélheted:
pewc_filter_field_image_size: a hagyományos mezőképek méretét adja meg; egy paramétert kap ($size), és egy WordPress-képméret nevét kell visszaadnia;pewc_image_swatch_thumbnail_size: a képminta mezők képeinek mérete; két paramétert kap ($size,$item), és szintén képméretnevet ad vissza.
add_filter( 'pewc_filter_field_image_size', function ( $size ) { return 'medium_large';} );
add_filter( 'pewc_image_swatch_thumbnail_size', function ( $size, $item ) { return 'medium';}, 10, 2 );A kódrészleteket gyermeksablon functions.php fájljába vagy egy kódrészlet-bővítménybe tedd.
Készült: