+48 506 130 673 info@tosetec.com

Jeśli Twój sklep WooCommerce korzysta z wielu wtyczek – np. do zarządzania niestandardowymi polami produktów, edycji pól w koszyku lub integracji stanów magazynowych – może pojawić się potrzeba synchronizacji danych między nimi. Brak spójności w danych może prowadzić do błędów, niespójnych informacji dla klientów lub problemów w procesie zamówień.

Poniżej znajdziesz sprawdzone metody, które pomogą Ci skutecznie zsynchronizować dane między różnymi wtyczkami WooCommerce.


✅ Metoda 1: Wspólna baza danych (meta pola, opcje lub tabele)

Większość wtyczek zapisuje dane bezpośrednio w bazie danych WordPressa – zazwyczaj w tabelach wp_postmeta, wp_options lub we własnych tabelach.

Aby zapewnić spójność:

  • Zidentyfikuj, gdzie dana wtyczka przechowuje informacje.

  • Skorzystaj z hooków WordPressa, by automatycznie kopiować lub aktualizować dane w odpowiednich miejscach.

💡 Przykład: Synchronizacja pól niestandardowych produktu

Dodaj poniższy kod do pliku functions.php motywu potomnego:

add_action('save_post_product', 'synchronizuj_pola_miedzy_wtyczkami', 10, 3);
function synchronizuj_pola_miedzy_wtyczkami($post_id, $post, $update) {
if (!$update) return;

$wartosc = get_post_meta($post_id, '_pole_wtyczki_1', true);

if ($wartosc) {
update_post_meta($post_id, '_pole_wtyczki_2', $wartosc);
}
}

Ten fragment kodu zapewnia, że przy zapisie produktu dane z jednej wtyczki są kopiowane do drugiej.


🧩 Metoda 2: Użyj hooków i filtrów WooCommerce

WooCommerce udostępnia szereg akcji i filtrów, które pozwalają dynamicznie modyfikować i synchronizować dane, np. przy edycji produktów lub na etapie koszyka i zamówienia.

💡 Przykład: Synchronizacja pól w formularzu zamówienia

add_filter('woocommerce_checkout_fields', 'synchronizuj_pola_checkout');
function synchronizuj_pola_checkout($fields) {
$telefon = get_user_meta(get_current_user_id(), 'telefon_wtyczki', true);
if ($telefon) {
$fields['billing']['billing_phone']['default'] = $telefon;
}
return $fields;
}

Ten kod ustawia domyślną wartość pola telefonu w formularzu checkout na podstawie danych z innej wtyczki.


🔗 Metoda 3: Middleware – WP Fusion, Zapier i inne integratory

Jeśli Twoje wtyczki nie komunikują się bezpośrednio, warto skorzystać z narzędzi pośredniczących:

  • WP Fusion – synchronizuje dane użytkowników między WooCommerce a systemami CRM czy marketingowymi.

  • Zapier – umożliwia automatyczne akcje (np. „jeśli klient złoży zamówienie, zaktualizuj pole w zewnętrznej bazie”).

To świetne rozwiązanie, jeśli potrzebujesz synchronizacji między różnymi platformami lub nie chcesz pisać kodu.


🌐 Metoda 4: Własne API i komunikacja między wtyczkami

Jeśli wtyczki obsługują REST API, można wykorzystać punkty końcowe do przesyłania danych między systemami w czasie rzeczywistym.

💡 Przykład: Wysłanie danych do własnego endpointa

wp_remote_post('https://twojastrona.pl/wp-json/moje-api/zaktualizuj', [
'body' => json_encode([
'produkt_id' => $product_id,
'wartosc' => $custom_value
]),
'headers' => [
'Content-Type' => 'application/json'
]
]);

Ten kod przesyła zaktualizowane dane do niestandardowego endpointa, który może zostać obsłużony przez inną wtyczkę lub własny moduł.


🧠 Podsumowanie

Synchronizacja danych pomiędzy wtyczkami WooCommerce jest możliwa na wiele sposobów, w zależności od poziomu integracji i dostępnych funkcji.

Najlepsze metody to:

Metoda Zastosowanie
Wspólna baza danych i hooki Dla prostych integracji między polami meta
WooCommerce hooks & filters Dynamiczne manipulacje podczas edycji lub zamówień
Middleware (WP Fusion, Zapier) Synchronizacja z zewnętrznymi systemami
Własne API Gdy potrzebujesz pełnej kontroli nad przesyłaniem danych

🔧 Wybierz metodę, która najlepiej pasuje do Twoich potrzeb technicznych i poziomu zaawansowania.