Shortcode pre tracking number
-
Dobrý deň, obraciam sa ku vám opäť pre radu.
Rád by som doplnil sledovací kód zásielky do emailu pre stav objednávky “Vybavená” a tak isto by som rád tento kód doplnil na stránku sledovanie objednávky.
Existuje prosím nejaký spôsob?
Ďakujem
-
Pokojne si to nahodím aj napriamo do template e-mailu, poprípade do webu cez hook. Avšak neviem ani na základe kódu prísť nato ako dopytovat
getPacketId()priamo v kóde, nakoľko mi to hádže chybu.Dobrý den @thedareback,
děkuji za Váš dotaz.
V tuto chvíli jediným způsobem, jak získat trasovací číslo zásilky, je vytáhnout ho přímo z DB tabulky našeho pluginu (wp_packetery_order sloupec packet_id).
Bohužel přímo hook či snippet, který by dokázal to co popisujete k dispozici není.Nějaké další možnosti jak provést co popisujete budeme muset prozkoumat a prokonzultovat s kolegy z vývoje pluginu.
Hned jakmile budu mít nějaké další informace, dám Vám vědět.
S pozdravem,
Matyáš Kovaľ – Packeta E-Commerce Supportglobal $wpdb; $obj = $order->get_order_number(); $results = $wpdb->get_results( "SELECT * FROM tfxfcc_packetery_order WHERE tfxfcc_packetery_order.id = $obj"); if(!empty($results)){ foreach($results as $row){ $id = $row->packet_id; echo 'Sledovacie číslo vašej zásielky: <a href="https://tracking.packeta.com/?id=' .$id .'">Z'.$id.'</a>'; } }Dobrý deň @thedareback mne sa to podarilo vyriešiť v emailoch nasledovne. Snáď vám to pomôže a odrazíte sa. Držím palce 🙂
Dobrý den @thedareback & @mikel555 ,
omlouvám se za delší prodlevu v odpovědi.
Prokonzultoval jsem Váš dotaz s kolegy programátory a došli jsme k následujícímu:
Jelikož úpravy skrze filtry byste musel znovu aplikovat po změně verze pluginu, možná by se vyplatilo udělat si vlastní “plugin”, který by obsahoval funkcionalitu, kterou potřebujete a byl by nezávislý na souborech našeho pluginu a jen by s nimi spolupracoval.
Toto můžete provést tak, že v instalaci WordPressu ve složce wp-content/plugins vytvoříte novou složku, například packeta-custom. Do této složky následně vytvoříte stejnojmenný soubor .php (tedy packeta-custom.php) a až do tohoto souboru vložíte Vámi vytvořené filtry.
Od kolegů jsem ještě dostal filtr, který tuto funkcionalitu poskytuje také a vypadá následovně:<?php /** * Plugin Name: Packeta Custom * Description: Customizations for Packeta plugin */ if(!defined('ABSPATH')) { exit; // Exit if accessed directly. } function renderEmailAfterOrder(WC_Order $order) { global $wpdb; if (!$order->has_status(['completed'])) { return; } $orderId = $order->get_id(); $table = $wpdb->prefix . 'packetery_order'; $packeteryOrder = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM $table WHEREid= %d", $orderId ) ); if ($packeteryOrder && (bool)$packeteryOrder->is_exported === true) { echo sprintf("Sledovací číslo zásilky: <a href='https://tracking.packeta.com/?id=%s'>Z%s</a>", $packeteryOrder->packet_id, $packeteryOrder->packet_id); } } //if you would like to have the tracking else where, change the hook accordingly https://www.businessbloomer.com/woocommerce-visual-hook-guide-emails/ add_action('woocommerce_email_after_order_table', 'renderEmailAfterOrder');Prvních 6 řádků je nezbytných pro funkcionalitu v rámci samostatného pluginu.
Vyhovuje Vašim požadavkům takto implementovaný filtr?
S pozdravem,
Matyáš Kovaľ – Packeta E-Commerce SupportDobrý den @thedareback & @mikel555,
byly pro Vás odpovědi v rámci tohoto vlákna užitečné k tomu, čeho jste potřebovali docílit? Stačily k implementaci propisování údajů o trasování do e-mailů?
S pozdravem,
Matyáš Kovaľ – Packeta E-Commerce SupportDobrý den,
zatím jsem neobdržel reakci na předchozí odpovědi.
Doufám, že návod a filtr pomohl. Pokud by tomu tak nebylo nebo by bylo potřeba řešit s námi něco dalšího ohledně pluginu, prosím o založení nového vlákna.
S pozdravem,
Matyáš Kovaľ – Packeta E-Commerce Support
The topic ‘Shortcode pre tracking number’ is closed to new replies.