Zacznij
Dlaczego ISO 4217 jest używany dla Google, Facebook, Bing, Pinterest i TikTok w kanałach XML - AdTribes
  1. Strona główna
  2. Baza wiedzy
  3. Ogólne wskazówki dotyczące kanałów
  4. Dlaczego ISO 4217 jest używane dla Google, Facebook, Bing, Pinterest i TikTok w kanałach XML

Dlaczego ISO 4217 jest używane dla Google, Facebook, Bing, Pinterest i TikTok w kanałach XML

Podczas generowania kanałów XML dla Google, Facebook, Bing, Pinterest i TikTok, wartości walut muszą być poprawnie sformatowane, aby zapewnić ich przetwarzanie bez błędów. Te platformy wymagają, aby ceny używały kropki jako separatora dziesiętnego, bez separatorów tysięcy i trójliterowych kodów walut. Kody walut są zdefiniowane przez ISO 4217, podczas gdy zasady dotyczące separatorów pochodzą ze specyfikacji kanału każdej platformy.

Przesyłanie kanałów, które nie spełniają tych wymagań formatowania platformy, spowoduje odrzucenie kanału lub nieprawidłowe parsowanie cen w Google Merchant Center, Facebook Catalog, Microsoft Bing Shopping, Pinterest Catalogs i TikTok Product Catalog. Product Feed Pro i Product Feed Elite automatycznie obsługują to formatowanie dla wszystkich tych platform.

Jeśli potrzebujesz użyć regionalnych separatorów zamiast tego formatu, dostępna jest obejście na poziomie dewelopera przy użyciu fragmentów PHP. Zobacz sekcję Używanie regionalnych separatorów poniżej. Należy pamiętać, że to podejście nie jest wspierane.

Egzekwowanie ISO 4217 dla TikTok wymaga Product Feed Pro w wersji 13.5.7 lub nowszej. W starszych wersjach kanały TikTok Product Catalog mogły wyprowadzać ceny przy użyciu separatora dziesiętnego sformatowanego zgodnie z lokalizacją sklepu zamiast wymaganego okresu, co mogło zostać odrzucone przez parser katalogu TikTok. Zaktualizuj do wersji 13.5.7+, jeśli Twój kanał TikTok jest dotknięty. Aby uzyskać pomoc w konfiguracji kanału TikTok, zobacz Jak skonfigurować kanał katalogu TikTok.

Wymagania

WymaganieSzczegóły
WtyczkaProduct Feed Pro lub Product Feed Elite zainstalowane i aktywne
WooCommerceZainstalowany i skonfigurowany z walutą sklepu
Kanał produktuPrzynajmniej jeden kanał skonfigurowany dla Google, Facebook, Bing, Pinterest lub TikTok

Zrozumienie ISO 4217 i zasad formatowania kanałów

ISO 4217 to międzynarodowy standard kodów walut. Definiuje trójliterowe kody używane do identyfikacji walut w systemach finansowych i handlowych, takie jak USD dla dolara amerykańskiego, EUR dla euro i JPY dla japońskiego jena. Google, Facebook, Bing, Pinterest i TikTok wymagają tych kodów walut ISO 4217 w zgłoszeniach kanałów produktów.

Zasady dotyczące separatorów dziesiętnych i tysięcy nie są częścią ISO 4217. Pochodzą one z własnej specyfikacji kanału każdej platformy, chociaż wszystkie pięć platform zgadza się co do tych samych wymagań:

  • Separator dziesiętny: Kropka (.) musi być używana dla wartości dziesiętnych.
  • Separatory tysięcy: Nie używane. Pominięcie ich zapobiega błędom parsowania.
  • Kody walut: Trójliterowy kod ISO 4217 (np. USD, EUR, JPY) jest dodawany do wartości ceny.

Dlaczego Google, Facebook, Bing, Pinterest i TikTok wymagają tego formatu

Podczas przesyłania kanałów produktów do Google Merchant Center, Facebook Catalog, Microsoft Bing Shopping, Pinterest Catalogs lub TikTok Product Catalog, wartości walut muszą być zgodne z tymi zasadami formatowania, aby uniknąć błędów kanału. Te platformy egzekwują jednolity standard, ponieważ:

  1. Zapobiega błędnej interpretacji danych: Niektóre kraje używają przecinków (,) jako separatorów dziesiętnych i kropek (.) dla tysięcy (np. 1.000,50 zamiast 1,000.50). Bez standaryzacji prowadzi to do nieprawidłowego parsowania cen.
  2. Zapewnia spójność: Wymagając tego samego formatu dziesiętnego (.), platformy mogą dokładnie interpretować wartości cenowe niezależnie od różnic regionalnych.
  3. Obowiązkowa zgodność kanału: Google, Facebook, Bing, Pinterest i TikTok odrzucają kanały, które nie są zgodne z wymaganym formatowaniem. Zobacz oficjalną dokumentację dla każdej platformy: Google, Facebook, Bing, Pinterest, TikTok.

Jak Product Feed Pro obsługuje to formatowanie

Product Feed Pro i Product Feed Elite automatycznie formatują ceny w kanałach XML, aby spełnić wymagania tych platform. Nie musisz nic konfigurować. Wtyczka obsługuje to domyślnie:

  • Ceny są zawsze formatowane przy użyciu kropki (.) jako separatora dziesiętnego.
  • Separatory tysięcy nie są uwzględniane, aby zapobiec problemom z parsowaniem.
  • Poprawny trzyznakowy kod waluty (np. USD, GBP, EUR) jest dodawany do wartości cenowych, odczytywany z ustawienia waluty sklepu WooCommerce (get_woocommerce_currency()).

Na przykład:

Format regionalny (nieakceptowany przez te kanały)Wymagany format kanału
1.234,56 EUR1234,56 EUR
10.500,99 USD10500,99 USD
5.000,75 GBP5000,75 GBP

Formaty regionalne w lewej kolumnie nie są z natury błędne. Są one w pełni poprawne w wielu krajach. Po prostu nie są akceptowane przez Google, Facebook, Bing, Pinterest i TikTok, których analizatory kanałów wymagają formatu z kropką dziesiętną, pokazanego po prawej stronie.

Częste problemy i rozwiązania

Jeśli Twój kanał zostanie odrzucony z powodu błędów formatowania waluty, sprawdź:

  • Nieprawidłowe separatory dziesiętne: użyj . zamiast ,
  • Użycie separatorów tysięcy: usuń je całkowicie
  • Brak kodów walut: upewnij się, że ceny zawierają prawidłowy trzyznakowy kod

Używanie separatorów regionalnych zamiast wymaganego formatu

Domyślnie Product Feed Pro i Product Feed Elite wymuszają prawidłowe formatowanie dla wszystkich kanałów Google, Facebook, Bing, Pinterest i TikTok. Jednak jeśli Twój sklep używa regionalnego formatowania liczb (na przykład kropki jako separatora tysięcy i przecinka jako separatora dziesiętnego) i potrzebujesz, aby Twoje kanały to odzwierciedlały, możesz użyć poniższych fragmentów kodu PHP, aby nadpisać domyślne zachowanie.

Jest to dostosowanie na poziomie dewelopera. Wsparcie nie jest dostępne dla problemów wynikających z zastosowania tych fragmentów, więc postępuj tylko wtedy, gdy czujesz się komfortowo edytując plik functions.php swojego motywu lub używając wtyczki do fragmentów kodu, takiej jak WPCode.

Po pierwsze, upewnij się, że opcje waluty WooCommerce odpowiadają Twoim preferencjom. Przejdź do WooCommerce → Ustawienia → Ogólne i przewiń do sekcji Opcje waluty. Dla europejskiego formatowania regionalnego ustaw separator tysięcy na kropkę (.), a separator dziesiętny na przecinek (,).

Ustawienia ogólne WooCommerce pokazujące sekcję opcji waluty z polami separatora dziesiętnego i tysięcznego

Następnie dodaj następujący fragment do swojego pliku functions.php lub za pośrednictwem wtyczki WPCode. Wymusza on na wszystkich Twoich kanałach i szablonach używanie preferowanych separatorów za pomocą filtru adt_product_feed_localize_price_args. Dla europejskiego formatowania regionalnego fragment musi ustawić 'decimal_separator' => ',' i 'thousand_separator' => '.':

add_filter('adt_product_feed_localize_price_args', function($args) {
    $args['decimal_separator'] = ',';
    $args['thousand_separator'] = '.';
    return $args;
});

Następnie dodaj jeden lub więcej z poniższych fragmentów, aby usunąć wymagane formatowanie dla określonych platform za pomocą filtra adt_pfp_localize_price_iso4217_feeds:

// Google feeds
add_filter('adt_pfp_localize_price_iso4217_feeds', function($feeds) {
    return array_filter($feeds, function($feed) {
        return strpos($feed, 'google_') !== 0;
    });
});

// Facebook feeds
add_filter('adt_pfp_localize_price_iso4217_feeds', function($feeds) {
    return array_filter($feeds, function($feed) {
        return strpos($feed, 'facebook_') !== 0;
    });
});

// Bing feeds
add_filter('adt_pfp_localize_price_iso4217_feeds', function($feeds) {
    return array_filter($feeds, function($feed) {
        return strpos($feed, 'bing_') !== 0;
    });
});

// Pinterest feeds
add_filter('adt_pfp_localize_price_iso4217_feeds', function($feeds) {
    return array_filter($feeds, function($feed) {
        return $feed !== 'pinterest';
    });
});

// TikTok feeds
add_filter('adt_pfp_localize_price_iso4217_feeds', function($feeds) {
    return array_filter($feeds, function($feed) {
        return $feed !== 'tiktok';
    });
});

Na przykład, kompletny fragment do usunięcia wymaganego formatowania tylko dla kanałów Google:

add_filter('adt_product_feed_localize_price_args', function($args) {
    $args['decimal_separator'] = ',';
    $args['thousand_separator'] = '.';
    return $args;
});

add_filter('adt_pfp_localize_price_iso4217_feeds', function($feeds) {
    return array_filter($feeds, function($feed) {
        return strpos($feed, 'google_') !== 0;
    });
});

Po dodaniu fragmentów odśwież swoje kanały. Wynik będzie odzwierciedlał Twoje preferencje dotyczące separatorów regionalnych:

Wyjście kanału XML pokazujące ceny sformatowane za pomocą regionalnych separatorów po zastosowaniu fragmentu

Często zadawane pytania

Czy Product Feed Pro stosuje to formatowanie do wszystkich typów kanałów, czy tylko do Google, Facebook, Bing, Pinterest i TikTok?
To formatowanie jest stosowane specjalnie do szablonów kanałów Google, Facebook, Bing, Pinterest i TikTok, ponieważ te platformy wyraźnie tego wymagają. Inne typy kanałów podążają za ustawieniami waluty WooCommerce, chyba że skonfigurujesz dodatkowe nadpisania.
Mój kanał został odrzucony z powodu błędu formatowania ceny. Co powinienem sprawdzić najpierw?
Najpierw potwierdź, że Product Feed Pro generuje ceny z kropką jako separatorem dziesiętnym, bez separatora tysięcy i z trzyliterowym kodem waluty (np. 1234.56 USD). Jeśli kanał wygląda poprawnie, sprawdź, czy nie zastosowałeś żadnych fragmentów separatorów regionalnych, które mogłyby nadpisywać wynik. Zweryfikuj również, czy ustawienia waluty WooCommerce odpowiadają zamierzonemu wynikowi.
Czy to formatowanie wpłynie na ceny wyświetlane na mojej stronie głównej?
Nie. To formatowanie dotyczy tylko wyjścia kanału XML wysyłanego do Google, Facebook, Bing, Pinterest i TikTok. Ceny w Twoim sklepie nadal będą wyświetlane przy użyciu ustawień formatowania waluty WooCommerce.
Używam waluty bez miejsc dziesiętnych (np. JPY). Jak jest to obsługiwane?
Dla kanałów Google, Facebook, Bing, Pinterest i TikTok ceny są zawsze formatowane z dwoma miejscami dziesiętnymi, niezależnie od ustawień dziesiętnych WooCommerce. Cena 1500 jenów japońskich jest przesyłana jako 1500.00 JPY, a nie 1500 JPY. Jest to wymuszane przez wtyczkę w celu spełnienia wymagań platformy.
Zastosowałem fragmenty separatorów regionalnych, ale mój kanał nadal pokazuje standardowy format. Dlaczego?
Upewnij się, że dodałeś *oba* fragmenty: pierwszy ustawia preferowane separatory za pomocą adt_product_feed_localize_price_args (z 'decimal_separator' => ',' i 'thousand_separator' => '.' dla formatowania europejskiego), a drugi usuwa konkretną platformę z listy wymuszania za pomocą adt_pfp_localize_price_iso4217_feeds. Upewnij się również, że odświeżyłeś dotknięty kanał po zapisaniu fragmentów, ponieważ kanały są buforowane i nie zostaną zaktualizowane, dopóki nie zostaną wygenerowane ponownie.
Czy mogę zastosować regionalne separatory tylko do jednej platformy i zachować standardowy format dla pozostałych?
Tak. Filtr adt_pfp_localize_price_iso4217_feeds pozwala na niezależne usunięcie poszczególnych platform (Google, Facebook, Bing, Pinterest lub TikTok) z listy wymuszania. Po prostu uwzględnij tylko blok filtru dla platformy, którą chcesz nadpisać, a pozostałe pomiń.
Jak odświeżyć kanał po wprowadzeniu zmian?
Przejdź do Product Feed → Zarządzaj kanałami, zlokalizuj kanał, który chcesz odtworzyć, i kliknij Odśwież kanał. Plik kanału jest odbudowywany przy użyciu bieżących ustawień wtyczki i wszelkich aktywnych fragmentów.
Czy to ustawienie wpływa tak samo na ceny promocyjne i regularne?
Tak. Formatowanie jest stosowane konsekwentnie do wszystkich pól cenowych przesyłanych w kanale, w tym cen regularnych, cen promocyjnych i wszelkich niestandardowych atrybutów cenowych zmapowanych w szablonie kanału.
Co się stanie, jeśli WooCommerce będzie skonfigurowany do wyświetlania cen bez dziesiętnych?
Dla kanałów Google, Facebook, Bing, Pinterest i TikTok wtyczka zawsze wyświetla ceny z dwoma miejscami po przecinku. Ustawienia dziesiętne WooCommerce nie mają zastosowania do tych wymuszonych kanałów. Na przykład cena 1500 zostanie wyświetlona jako 1500.00 w kanale, niezależnie od tego, jak WooCommerce jest skonfigurowany do jej wyświetlania w Twoim sklepie.

Pomoc i wsparcie

Jeśli potrzebujesz dalszej pomocy z formatowaniem waluty w kanałach produktów, skontaktuj się z zespołem wsparcia, otwierając zgłoszenie pomocy technicznej.

Należy pamiętać, że system zgłoszeń jest wyłącznie dla użytkowników Product Feed Elite.

Jeśli używasz tylko wtyczki Product Feed Pro, możesz otworzyć nowy temat na forum WordPress.org.

Czy ten artykuł był pomocny?

Powiązane artykuły

Dokończ zakup
AdTribes WooCommerce Product Feed

Najlepsza wtyczka WooCommerce do kanałów produktów

  • AdTribes Pty Ltd
    ABN: 40 675 636 816
Produkt
Zasoby i informacje
Witryny partnerskie
Rymera