[WP ALL IMPORT] Tipy & Triky (díl první)

Často se v diskuzích objevuje dotaz, jak upravit data z XML/CSV zdroje při importu do WooCommerce pomocí pluginu WP All Import. Protože na import nepoužívám nic jiného, tak vám prozradím nějaké triky, které se dají pomocí funkcí udělat. Nezapomeňte, že kódy, které jsou zde uvedené, nemusí a pravděpodobně nebudou korespondovat s vašimi poli z XML/CSV, takže je musíte upravit. Podstatné je pro vás zabalení do funkce [NazevFunkce({VASEPOLEZXML})]. Některé funkce nejsou mým výtvorem, přesto se o ně s vámi podělím, protože se na ně často dotazujete.
Funkce vkládáte do poslední části layoutu importu s názvem Function Editor.

Krátký popis

Jako první si zkracuji dlouhý popis tak, abych jej mohl použít jako krátký popis:

// vytváříme si krátký popis z dlouhého popisu
function KratkyText($text) {
// počet znaků v kr.textu
$length = 190; 
// čím končí krátký popis
$ending = "</strong> ...
// po zakončení můžeme přidat odkaz na dlouhý popis (odkaz href musí směrovat na název tabu, může se lišit v šablonách)
<a href=\"#tab-description\" title=\"Více informací o produktu\"><strong>Více informací</strong></a>"; 
// ořízne řetězec na zadaný počet znaků
$text = mb_substr($text, 0, $length);
// poslední výskyt mezery
$pos = mb_strrpos($text, " ");
// oříznutí řetězce
$text = mb_substr($text, 0, $pos);
// dodání koncovky
$text .= $ending;
return $text;
}

a do pole Krátký popis vložím kód: [KratkyText({DESCRIPTION[1]})]

Záměna textu

Občas je potřeba změnit texty, příkladem může být například anglické označení barev variant, které potřebuji přeložit do češtiny. Opět velmi jednoduché:

//přepisujeme názvy variant
function PrepisVariant($retezec){
$retezec = str_replace("red","červená",$retezec);
$retezec = str_replace("green","zelená",$retezec);
$retezec = str_replace("yellow","žlutá",$retezec);
return $retezec;
}

a vkládám pomocí kódu: [PrepisVariant({VARIANTY[1]/VARIANTA[1]})]

Přepočet ceny

Pokud potřebujete přepočítat cenu produktu, zpravidla ji potřebujete zvýšit o svou marži, použijte následnou funkci:

//upravujeme prodejní cenu
function UpravCenu($cena)
{
$novacena = $cena * 1;
$novacena = ceil($novacena);
return $novacena;
}

a klidně si upravte cenu ve slevě:

//upravujeme cenu ve slevě
function UpravCenuSleva($cenas)
{
$novacenas = $cenas * 1.31;
$novacenas = ceil($novacenas);
return $novacenas;
}

a do pole Cena vložíme kód (pro cenu ve slevě upravíme název funkce viz výše): [UpravCenu({CENA[1]})]

Změna váhy

Pokud používáte pro váhu kilogramy, ale dodavatel používá gramy, můžete na převod váhy použít předchozí funkci. Upravíme si ji na váhu:

// přepočet váhy z gramů na kilogramy
function PrepocetVahy($vaha)
{
$novavaha = $vaha * 0.001; 
return $novavaha;
}

a do pole Váha vložíme: [PrepocetVahy({VAHA[1]})]

Sklad a jeho řízení

Pokud váš dodavatel nemá ve feedu uvedené, zda je produkt skladem, a vy přesto chcete řídit sklad, můžete si pomoci sami. Teda pokud ve feedu je alespoň počet kusů skladem. Používat k tomu budeme Set with XPath:

// řídíme sklad ano-ne podle počtu kusů
// pokud je počet kusů nula, není potřeba řídit sklad
function RiditSklad($rizeniskladu){
    if($rizeniskladu === '0') {
        $rizeniskladu = "no";
    } else {
        $rizeniskladu = "yes";
    }
return $rizeniskladu;
}

a jako XPath dáme: [RiditSklad({POCETKUSU[1]})]

// nastavujeme zda je produkt skladem či nikoliv
// když je počet kusů nula, označí se jako Vyprodáno
function JeSkladem($naskladu){
    if($naskladu === '0') {
        $naskladu = "outofstock";
    } else {
        $naskladu = "instock";
    }
return $naskladu;
}

a jako XPath dáme: [JeSkladem({POCETKUSU[1]})]

// pokud je počet kusů nula, můžete nastavit, jestli i přesto smí zákazník objednat
function MuzeObjednat($lzeobjednat){
    if($lzeobjednat === '0') {
        $lzeobjednat = "no";
    } else {
        $lzeobjednat = "no";
    }
return $lzeobjednat;
}

a jako XPath dáme: [MuzeObjednat({POCETKUSU[1]})]

Zvýraznění produktů

Používám malý trik na zvýrazněné produkty. Nastavuji takto produkty, které jsou skladem v nějakém minimálním počtu (v příkladu je to minimálně pět kusů skladem). Bude-li počet kusů nižší než přednastavený, nezvýrazní se:

function Doporucene($featured){
if($featured >= 5) {
  $featured = "yes";
} else {
  $featured = "no";
}
return $featured;
}

a jako XPath dáme: [Doporucene({POCETKUSU[1]})]

Hodnocení: 6.5/10. hodnotili 4 lidé
Please wait...

2 komentáře u „[WP ALL IMPORT] Tipy & Triky (díl první)“

  1. Ahoj, chcel by som sa spýtať, aj pri automatickom feede z XML používaš WP All import? Alebo máš aj iný plugin? Ďakujem.

    Odpovědět

Napsat komentář