Woocommerce – VOP v PDF k mailu Potvrzení objednávky

Úvodní stránka Fórum podpory WordPressu Pluginy (funkčnost webu) Woocommerce – VOP v PDF k mailu Potvrzení objednávky

Zvolené téma neobsahuje zatím 1žádnou odpověď. Do diskuze (2 účastníci) se naposledy zapojil uživatel  JKovac a poslední změna je stará 7 let, 3 měsíce.

Aktuálně je na stránce zobrazeno 11 příspěvků - 1. až 11. (z celkem 11)
  • Autor
    Příspěvky
  • #29966

    JKovac
    Participant

    Zdravím pánové,

    měl bych na vás prosbu. Zkouším poprvé eshop na Woocommerci a potřebuji poslat Všeobecné obchodní podmínky s e-mailem “Potvrzení objednávky” jak to vyžaduje naše legislativa.

    Zkoušel jsem to pomocí woocommerce_email_attachments

    add_filter( 'woocommerce_email_attachments', 'vop_pdf_to_email', 10, 3); 
    
    function vop_pdf_to_email ( $attachments, $status , $order ) {
    
        $allowed_statuses = array( 'new_order', 'customer_invoice', 'customer_processing_order', 'customer_completed_order' );
    
        if( isset( $status ) && in_array ( $status, $allowed_statuses ) ) {
             $pdf_path = get_stylesheet_directory_uri() . '/vop.pdf'; 
             $attachments[] = $pdf_path; 
        } 
    return $attachments; 
    }

    S tím, že soubor mám ve složce child theme. Ale nefunguje mi to. Možná, že to komplikuji a de to jednodušeji, ale to taky nikde nemůžu najít. Docela se divím, že se to skoro nikde neřeší (co se týče Woocommerce nebo špatně hledám), když je to “povinnost”.

    #29967

    admin
    Keymaster
    Web

    Podívám se na to, ale jsou na to různé jednoduché pluginy, podrobnosti najdete např. zde.

    Plánoval jsem to i jako součást pluginu České služby, protože se mi pluginy nelíbily (musela se zadávat URL adresa a já jsem chtěl pouze nahrání do Knihovny médií), ale zatím na to nebyl čas :-(

    #29971

    JKovac
    Participant

    Dík za odpověď,

    zkoušel jsem ten plugin. Aktivace a vše bez problémů. I soubor jde nahrát (vybrat), ale s mailem taky nedorazí.

    #29980

    JKovac
    Participant

    Pro informaci ať s tím neztrácíte zbytečně čas.

    Zkusil jsem si vytvořit na subdoméně čistý testovací web na původní Woocommerce šabloně Storefront abych vyloučil vliv provedených úprav, nainstalovaných pluginů a šablony.

    Má funkce přílohu neodešle, ale Vámi odkazovaný plugin jo. Jak jsem se na něj zhruba díval, využívá taky woocommerce_email_attachments, takže problém je někde u mne.

    Pokud na to přijdu, dám vědět.

    #29981

    admin
    Keymaster
    Web

    Zajímavé, zkoušíte to na serveru nebo na localhost? Jaký máte hosting, klasický Linux? Mám s tím na localhost (Windows) také problémy, skript nějak nemůže nalézt soubor :-(

    Jako první věc je asi třeba změnit funkci get_stylesheet_directory_uri() na get_stylesheet_directory(), protože cesta by měla být k souboru na serveru (a nikoli s HTTP).

    Pokud to nepomůže, tak zkuste ještě minimalistickou variantu, abychom vyloučili chybu v podmínkách:

    add_filter( 'woocommerce_email_attachments', 'vop_pdf_to_email', 10, 3); 
    function vop_pdf_to_email ( $attachments, $status , $order ) {
      $pdf_path = get_stylesheet_directory() . '/vop.pdf'; 
      $attachments[] = $pdf_path; 
    return $attachments; 
    }
    #29982

    JKovac
    Participant

    Hosting u WEDOSu takže Linux.

    Jinak moc dík. Opravdu stačilo použít get_stylesheet_directory(). Taková drobnost a vůbec mě to netrklo. Takže na test webu mi to všechno šlape, teď to ještě rozchodit na e-shopu :/

    #29993

    admin
    Keymaster
    Web

    To už by neměl být problém, fungovat by to mělo stejně :-)

    Spíše mě zarazilo, že mi to nefunguje na Windows, patrně nějaký problém s cestou k souboru :-(

    #30002

    JKovac
    Participant

    Tak já jsem to po 4 hodinách vzdal. Prostě jsem nepřišel proč to na tom e-shopu nejde. Zajímavé bylo, že jednu chvíli mi začala chodit příloha v mailu správci, ale zákazníkovi ne.
    Svedl jsem to na to, že muselo něco zůstat zapsáno v DB, i když jsem všechny pluginy a šablony smazal. To bych stejně nenašel.

    Takže nová instalace a de to.

    #30009

    JKovac
    Participant

    Ha! Tak už jsem zjistil kde je problém. Dělá to plugin WooCommerce Pay for Payment, který požadujete k pluginu České služby pro WordPress.

    Váš plugin velký přínos a zcela zdarma, ale jak jsem četl na supportu WooCommerce Pay for Payment má dost problémů.

    #30017

    admin
    Keymaster
    Web

    @kovanda: Díky moc, plugin WooCommerce Pay for Payment byl před rokem docela povedený, ale autor ho postupně opustil, což je docela škoda :-( Obsahoval i filtry, na které jsem se mohl s pomocí Českých služeb napojit a nemusel připravovat vlastní řešení, ale už pomalu chystám jeho vyřazení… Naštěstí není tento plugin vyžadován, pouze to byl bonus pro uživatele, kteří chtěli zadávat odlišnou cenu dobírky, ale tuto situaci budu muset do pluginu doplnit, aby to do budoucna nedopadlo jako nyní :-(

    Každopádně dobrá práce, že jste to nevzdal a dořešil až do konce :-) Sice moc netuším, jak může tento plugin zablokovat odeslání přílohy, ale asi to nějak umí…

    #30023

    JKovac
    Participant

    Nechci tady už zbytečně spamovat a ani nevím jestli Vás to zajímá, ale plugin WooCommerce Pay for Payment vždy vypsal nějakou chybu při uložení změn. Takže kdo ví, jak provedené úpravy byly zapsány do DB. A nezkoumal jsem jej, ale když jsem do funkce přidal podmínku, ať se soubor odešle i administrátorovi s mailem nové objednávky (new_order), tak mě soubor přišel. Myslím si tedy, že zřejmě plugin používal vlastní šablonu mailu a zrušil customer_processing_order, proto nebyl soubor odeslán. Mám ve funkci jen maily přímo z Woocommerce.

    $allowed_statuses = array( 'new_order', 'customer_invoice', 'customer_processing_order', 'customer_completed_order' );

    Bohužel jsem musel tedy hledat nový plugin pro udání ceny za dobírku. Použil jsem nakonec uplně jednoduchý WooCommerce Extra Charges To Payment Gateway. Myslím, že by nemusel být problém využít i ten. Nebo WooCommerce COD Advanced Plugin, ale jak říkáte, lepší cesta je nebýt závislý na cizím pluginu.

    A kdyby se Vám chtělo přidat ještě možnost Vyzvednutí na prodejně, tak by to bylo super. Nebyl jsem schopný najít funkční plugin, pro tuto možnost. Všechny jsou opuštěné a nefunkční. Nakonec jsem to vyřešil pluginem Cash on Delivery of Russian Post or EMS For WooCommerce. Musel jsem jej sice upravit, aby byl funkční i pro jiné lokality než Rusko, ale bylo to jednodušší než opravovat ty staré nefunkční.

Aktuálně je na stránce zobrazeno 11 příspěvků - 1. až 11. (z celkem 11)

Pokud chcete odpovědět na toto téma, musíte se nejdříve přihlásit.

WordPress – novinky, návody a zajímavosti