Tovább a tartalomhoz

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 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 );

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.

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.

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 );

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 );

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).

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:

Tiszteletben tartjuk a magánszférádat

Sütiket használunk a böngészési élmény javítására és a forgalom elemzésére. Az analitika csak akkor indul, ha engeded. Adatvédelmi irányelvek, Sütitájékoztató.

Sütibeállítások