WP Desk Care - zadbaj o swój biznes online!

Sprawdzona opieka techniczna dla Twojego sklepu.

Jak automatycznie dołączać pliki PDF do maili ShopMagic – [przykład z kodem]

Właściciele sklepów WooCommerce coraz częściej oczekują bardziej zaawansowanych możliwości automatyzacji obsługi klienta. Jednym z typowych scenariuszy jest potrzeba załączania indywidualnych plików PDF do wiadomości e-mail – na przykład personalizowanych biletów, certyfikatów czy dokumentów. Czy to możliwe w ShopMagic? Oczywiście! W tym artykule pokażemy dokładnie, jak to zrobić krok po kroku, korzystając z wbudowanego filtra attachments_paths.

Sytuacja naszego klienta

Z pytaniem zwrócił się do nas właściciel sklepu WooCommerce, który korzysta z wtyczki ShopMagic do automatyzacji komunikacji e-mailowej. Zastanawiał się, czy jest możliwe dynamiczne dodanie spersonalizowanego pliku PDF dla każdego klienta w zależności od jego ID, bez konieczności ręcznego załączania plików do każdej wiadomości.

Dlaczego to wyzwanie?

Domyślnie ShopMagic umożliwia załączenie tego samego pliku PDF do wszystkich wysyłanych wiadomości. Sprawdza się to przy np. wysyłce e-booka, ale w przypadku personalizowanych dokumentów (np. biletów imiennych czy certyfikatów) każdy klient powinien otrzymać własny plik, zapisany wcześniej na serwerze. To właśnie tutaj wkracza moc filtrowania załączników przez kod PHP.

Rozwiązanie krok po kroku

  1. Oczywiście potrzebujesz wtyczki ShopMagic

  2. Na początek: upewnij się, że masz zainstalowaną wtyczkę ShopMagic 2.34.0 lub nowszą. Filtr attachments_paths jest dostępny właśnie od tej wersji. Od razu dodam, że ShopMagic 2.34.0 jest baaaaardzo stary, ale widzieliśmy już różne przypadki 🙂

  3. Zrozumienie mechanizmu działania filtra

  4. ShopMagic pozwala na dynamiczne modyfikowanie listy załączników przez filtr PHP:
    shopmagic/core/action/send_mail/attachments_paths
    Dzięki temu możemy dodać własny PDF na podstawie danych dostępnych w czasie wysyłki wiadomości – np. identyfikatora klienta.

  5. Przykład implementacji

  6. Oto gotowy fragment kodu PHP, który możesz dodać do pliku functions.php swojego motywu (lub do własnej wtyczki).

    💡 Uwaga: Sposoby na dodanie filtra opisujemy nieco niżej.

    add_filter('shopmagic/core/action/send_mail/attachments_paths', 'attach_dynamic_files', 10, 3);

    function attach_dynamic_files( $attachments, $action_fields, $provided_data ) {
    // Sprawdzenie, czy akcja dotyczy konkretnej automatyzacji
    if ( ! $action_fields->has('subject_value') || $action_fields->get('subject_value') !== 'Grab your ticket') {
    return $attachments;
    }

    // Pobranie danych klienta
    if ( ! isset( $provided_data[\WPDesk\ShopMagic\Customer\Customer::class] ) ) {
    return $attachments;
    }

    $customer = $provided_data[\WPDesk\ShopMagic\Customer\Customer::class];

    // Załączanie pliku tylko dla zarejestrowanych klientów
    if ( ! $customer->is_guest() ) {
    $file_path = '/absolute/path/to/file/on/server/ticket-' . $customer->get_id() . '.pdf';
    return [ $file_path ];
    }

    return $attachments;
    }

    Gdzie dodać filtr attachments_paths i jak to zrobić?

    Aby filtr zadziałał poprawnie, musisz umieścić go w odpowiednim miejscu w kodzie WordPressa.
    Masz kilka możliwości dodania filtra – poniżej przedstawiamy dwie najczęściej stosowane i rekomendowane metody.

    Edycja pliku functions.php aktywnego motywu (lub motywu potomnego)

    Najprostszy sposób to dodanie kodu bezpośrednio do pliku functions.php

    • Zaloguj się do kokpitu WordPressa.
    • Przejdź do sekcji Wygląd → Edytor plików motywu.
    • Wybierz swój motyw (najlepiej motyw potomny, jeśli używasz).
    • Wklej kod filtra na końcu pliku functions.php.

    💡 Uwaga: Zmiany wprowadzone bezpośrednio w pliku functions.php mogą zostać nadpisane podczas aktualizacji motywu, jeśli nie używasz motywu potomnego.

    Własna mini-wtyczka (zalecane rozwiązanie dla sklepu WooCommerce na produkcji)

    Aby utrzymać porządek i bezpieczeństwo, możesz dodać filtr jako osobną mini-wtyczkę:

    • Zaloguj się na serwer przez FTP lub menedżera plików.
    • Przejdź do katalogu wp-content/plugins/.
    • Utwórz nowy folder, np. shopmagic-custom-pdf.
    • W środku utwórz plik shopmagic-custom-pdf.php i dodaj na początku:
    • ?php
      /**
      * Plugin Name: ShopMagic – Custom PDF Attachment
      * Description: Dodaje spersonalizowane pliki PDF do wiadomości e-mail ShopMagic.
      */
      add_filter('shopmagic/core/action/send_mail/attachments_paths', 'attach_dynamic_files', 10, 3);
      function attach_dynamic_files( $attachments, $action_fields, $provided_data ) {
      // ... (reszta kodu jak powyżej)
      }

    • Następnie zapisz plik, przejdź do kokpitu WordPressa → Wtyczki i aktywuj nową wtyczkę.

    Jak działa ten kod w ShopMagic? Krok po kroku

  1. Sprawdza, czy wiadomość dotyczy konkretnej automatyzacji (po temacie wiadomości).
  2. Pobiera dane klienta, który wywołał akcję.
  3. Jeśli klient jest zarejestrowany, buduje ścieżkę do pliku PDF, który zawiera jego ID w nazwie (np. ticket-1523.pdf).
  4. Aby całość działała, plik musi już znajdować się na serwerze, w odpowiednim katalogu.

Praktyczna wskazówka 💡

Pliki możesz generować wcześniej i zapisywać na serwerze za pomocą zewnętrznych narzędzi lub niestandardowych skryptów (np. przy pomocy biblioteki DomPDF). Upewnij się, że ścieżka do pliku jest absolutna i poprawna.

Zalety automatycznego dołączania PDF do emaili ShopMagic

✅ Automatyzacja wysyłki spersonalizowanych dokumentów
✅ Brak konieczności ręcznego załączania plików
✅ Możliwość pełnej personalizacji treści i nazw plików
✅ Wykorzystanie istniejących możliwości darmowej wersji ShopMagic – bez potrzeby rozszerzeń PRO

Podsumowanie

Jak widzisz, ShopMagic oferuje zaawansowane mechanizmy dla użytkowników, którzy chcą zautomatyzować nie tylko treść, ale również załączniki w swoich kampaniach e-mail. Dzięki prostemu filtrowi attachments_paths możesz dynamicznie dołączać indywidualne pliki PDF, co czyni komunikację z klientami jeszcze bardziej profesjonalną.

Jeśli masz podobne potrzeby, zachęcamy do przetestowania tej funkcji u siebie. A jeśli napotkasz trudności – skontaktuj się z naszym zespołem wsparcia technicznego. Chętnie pomożemy!

PS. Korzystając z okazji polecam zaktualizować wtyczkę ShopMagic przynajmniej do wersji 4.4.0. Ta wersja dodaje wsparcie sztucznej inteligencji na etapie tworzenia automatyzacji.

Zobacz inne artykuły

Dołącz do ponad 10 000 czytelników

Poradniki WooCommerce i nowości –
wprost na Twój e-mail.

Preferencje plików cookies

Inne

Inne niekategoryzowane pliki cookie to te, które są analizowane i nie zostały jeszcze przypisane do żadnej z kategorii.

Niezbędne

Niezbędne
Niezbędne pliki cookie są absolutnie niezbędne do prawidłowego funkcjonowania strony. Te pliki cookie zapewniają działanie podstawowych funkcji i zabezpieczeń witryny. Anonimowo.

Reklamowe

Reklamowe pliki cookie są stosowane, by wyświetlać użytkownikom odpowiednie reklamy i kampanie marketingowe. Te pliki śledzą użytkowników na stronach i zbierają informacje w celu dostarczania dostosowanych reklam.

Analityczne

Analityczne pliki cookie są stosowane, by zrozumieć, w jaki sposób odwiedzający wchodzą w interakcję ze stroną internetową. Te pliki pomagają zbierać informacje o wskaźnikach dot. liczby odwiedzających, współczynniku odrzuceń, źródle ruchu itp.

Funkcjonalne

Funkcjonalne pliki cookie wspierają niektóre funkcje tj. udostępnianie zawartości strony w mediach społecznościowych, zbieranie informacji zwrotnych i inne funkcjonalności podmiotów trzecich.

Wydajnościowe

Wydajnościowe pliki cookie pomagają zrozumieć i analizować kluczowe wskaźniki wydajności strony, co pomaga zapewnić lepsze wrażenia dla użytkowników.