Testreszabás
Szűrők és kódrészletek a feed leírásának, áraknak, képeknek, azonosítóknak és a kizárt termékeknek a módosításához.
Ez a fejezet fejlesztőknek szól. A kódrészleteket a téma functions.php fájljába vagy egy saját bővítménybe teheted. A testreszabásokra nem vonatkozik a bővítmény támogatása, ha nem vagy biztos a kódban, kérd szakember segítségét.
A leírás forrása
Szekció neve “A leírás forrása”A leírás előállítását a beállítóoldal Termékleírás mezőjében választhatod ki (Meglévő termékmező értékének használata). A helyes választás attól függ, hogyan töltötted ki a termékadatokat. Az alapérték: Fő termékleírás (lehetőleg teljes), valamint a variáció leírása.
Ha teljesen egyedi leírás kell, használd a woocommerce_gpf_feed_item_google szűrőt:
function sajat_gpf_feed_item( $feed_item, $product ) { // Itt módosítsd a $feed_item->description értékét. return $feed_item;}add_filter( 'woocommerce_gpf_feed_item_google', 'sajat_gpf_feed_item', 10, 2 );Elemek hozzáadása vagy felülírása
Szekció neve “Elemek hozzáadása vagy felülírása”A feed objektum tulajdonságai történeti okokból két szinten vannak. Ha közvetlenül egy feedelemet adsz meg, a woocommerce_gpf_elements szűrőt használd. Példa: a „brand” elem kitöltése egy supplier_brand_name nevű egyéni mezőből:
function sajat_gpf_marka( $elements, $product_id, $variation_id = null ) { $id = is_null( $variation_id ) ? $product_id : $variation_id; $product = wc_get_product( $id ); $brand = $product->get_meta( 'supplier_brand_name' ); if ( ! empty( $brand ) ) { $elements['brand'] = array( $brand ); } return $elements;}add_filter( 'woocommerce_gpf_elements', 'sajat_gpf_marka', 11, 3 );A termék tulajdonságainak jellegű értékeknél (például ár) a woocommerce_gpf_feed_item_google szűrő a megfelelő. A módosítható tulajdonságok az árakhoz:
regular_price_ex_tax,regular_price_inc_tax: a normál ár adó nélkül és adóval,sale_price_ex_tax,sale_price_inc_tax: az akciós ár (NULL, ha nincs),price_ex_tax,price_inc_tax: az akciós ár, ha van, különben a normál ár.
Termékek és variációk kizárása
Szekció neve “Termékek és variációk kizárása”A woocommerce_gpf_exclude_product szűrővel saját logika alapján zárhatsz ki termékeket:
function sajat_gpf_kizaras( $excluded, $product_id, $feed_format ) { // true: kizárja a terméket, false: bennehagyja, // $excluded: marad az alapértelmezett viselkedés. return $excluded;}add_filter( 'woocommerce_gpf_exclude_product', 'sajat_gpf_kizaras', 11, 3 );A variációkra a woocommerce_gpf_exclude_variation szűrő ugyanígy működik, de ilyenkor a $product_id az egyes variáció azonosítója.
Képek
Szekció neve “Képek”A feed alapból a „full” képméretet használja. Másik regisztrált méretre a woocommerce_gpf_image_style szűrővel válthatsz:
add_filter( 'woocommerce_gpf_image_style', function ( $style ) { return 'shop_catalog';} );Ha csak a fő termékképet szeretnéd elküldeni:
add_filter( 'woocommerce_gpf_include_product_gallery_images', '__return_false' );add_filter( 'woocommerce_gpf_include_attached_images', '__return_false' );A bővítmény alapból ezeket a képeket küldi: a variáció képét, a Termékképet, a Termékgaléria képeit és a termékhez csatolt egyéb médiafájlokat. Az elsődleges kép az elsőként talált kép. A termékszerkesztő Termékfeed-információk dobozában a Képek kezelése gombbal pontosan kiválaszthatod, melyik kép szerepeljen, és melyik legyen az elsődleges. Alapból a doboz az összes talált kép bélyegképét mutatja, jelzi, hogy be van-e vonva a feedbe, és csillaggal jelöli az elsődleges képet. A Képek kezelése gombbal módosíthatod ezeket, a változtatások automatikusan mentődnek.
Egyéni mező előtöltési forrásként
Szekció neve “Egyéni mező előtöltési forrásként”Az előtöltési lehetőségek között alapból nincsenek rejtett meta- vagy egyéni mezők. Ha egyet fel szeretnél venni (a _my_custom_field helyére a mező neve kerül):
add_filter( 'woocommerce_gpf_custom_field_list', function ( $list ) { $list['meta:_my_custom_field'] = 'Saját mező'; return $list;} );A kód bekerülése után a beállítóoldalon kattints a frissítened kell a mezőlistát hivatkozásra, csak ezután lesz választható az új mező.
Szállítási súly és méretek törlése
Szekció neve “Szállítási súly és méretek törlése”A szállítási súly eltávolítása:
add_filter( 'woocommerce_gpf_feed_item_google', function ( $feed_item ) { $feed_item->shipping_weight = null; return $feed_item;} );A szállítási méretek (hosszúság, szélesség, magasság) eltávolítása:
add_filter( 'woocommerce_gpf_elements_google', function ( $elements, $product_id ) { unset( $elements['shipping_width'], $elements['shipping_length'], $elements['shipping_height'] ); return $elements;}, 11, 2 );Címek
Szekció neve “Címek”Változó termékeknél a bővítmény egyedi címet állít elő minden variációhoz, a jellemzők nevével együtt, ahogy a Google megköveteli, például: „Widget (Méret: Kicsi, Szín: Világos)”. Sok jellemzőnél a cím túl hosszú lehet. A jellemzőnevek elhagyásához („Widget (Kicsi, Világos)”) használd:
add_filter( 'woocommerce_gpf_include_attribute_labels_in_title', '__return_false' );A feedcím forrását a beállítóoldalon választhatod ki a Cím mezőnél. Egy termékre kézzel is megadhatsz címet a termékszerkesztő Termékfeed-információk dobozában (Közös mezők, a Cím mező). Programozottan a woocommerce_gpf_title szűrővel módosíthatod:
add_filter( 'woocommerce_gpf_title', function ( $title, $product_id ) { // Itt módosítsd a $title értékét. return $title;}, 10, 2 );Azonosító (ID)
Szekció neve “Azonosító (ID)”A bővítmény minden tételhez a Google követelményeinek megfelelő egyedi azonosítót állít elő. Módosítani nem javasolt: az azonosítónak egyedinek és időben állandónak kell lennie, ezért az SKU vagy az MPN sem jó választás. Egy meglévő feed azonosító-formátumának megváltoztatása duplikált termékeket hoz létre, amelyeket a Google-nek újra jóvá kell hagynia. Ha mégis módosítod, a woocommerce_gpf_feed_item_google szűrőben a $feed_item->guid értékét írd át (változó termékeknél az item_group_id is módosítandó lehet).
Termék-URL
Szekció neve “Termék-URL”A feedben küldött termék-URL a woocommerce_gpf_feed_item_google szűrőben a $feed_item->purchase_link módosításával változtatható meg.
Készült: