Καλησπέρα. Αυτό το tutorial ήθελα πολύ καιρό να το κάνω. Δεν θα πολλά λόγια , στη συγκεκριμένη σειρά tutorials θα δείτε 10 videos...
Εμφάνιση τιμής με φόρο στο order popup του WooCommerce
Στις τελευταίες εκδόσεις του WooCommerce έχει προστεθεί η δυνατότητα του order popup στη σελίδα των παραγγελιών στο wp-admin. Όμως σε κάποιες περιπτώσεις θέλει λίγο επεξεργασία για να καλύπτει κάποιες ανάγκες..
Επειδή στο mertzanos.gr θα αναφερόμαστε σε αληθινά προβλήματα και λύσεις , θα βλέπουμε τέτοια κυρίως.
Σε αυτό το WooCommerce tutorial θα κάνουμε το εξής: Θα προσπαθήσουμε να εμφανίσουμε άλλη μία στήλη στον παραπάνω πίνακα χρησιμοποιώντας hooks του WooCommerce.
Τι γινόταν πριν την αλλαγή;
Στο e-shop του ο πελάτης πρόσθετε τιμές με τον φόρο Φ.Π.Α και στη συνέχεια όταν γινόταν παραγγελία στο διαχειριστικό έβλεπε τα παρακάτω:
Μέσα στο Popup αυτό ο shop manager / admin έχει τη δυνατότητα να δει γρήγορα κάποια στοιχεία της παραγγελίας . Αυτό το popup έχει την παρακάτω εμφάνιση:
Όπως βλέπετε μας δείχνει ποσότητα προϊόντος , τον φόρο και σύνολο προ φόρου. Εμφανίζεται στη σελίδα των παραγγελιών, όταν πατάμε πάνω στο “μάτι” που βλέπετε στην παρακάτω εικόνα:
Άρα στην ουσία, αυτό που έλειπε ήταν η συνολική τιμή . Ένα επιπρόσθετο column το οποίο θα έδειχνε και την συνολική τιμή.
Μετά από ψάξιμο διαπιστώθηκε πώς το αρχείο που ελέγχει τo preview order popup βρίσκεται στο εξής σημείο:
wp-content\plugins\woocommerce\includes\admin\list-tables\abstract-class-wc-admin-list-table.php
Είναι προφανές πώς δεν θα πειράξουμε τίποτα σε αυτό το αρχείο. Θα ψάξουμε αν μπορούμε όμως να κάνουμε αλλαγές στο theme μας, μέσω κάποιων hooks που υπάρχουν εδώ. Μετά από ψάξιμο διαπιστώσαμε πώς θα χρησιμοποιήσουμε τα παρακάτω hooks.
woocommerce_admin_order_preview_line_item_columns woocommerce_admin_order_preview_line_item_column_(column)
Reference:
woocommerce_admin_order_preview_line_item_columns
woocommerce_admin_order_preview_line_item_column_column
Λύση:
Στο functions.php του theme μας, ή καλύτερα του child theme μας πάμε και γράφουμε τα παρακάτω:
<?php /** * Το παρακάτω filter προσθέτει την έξτρα στήλη. */ add_filter( 'woocommerce_admin_order_preview_line_item_columns', 'mertzanos_add_totalCol', 10, 2 ); function mertzanos_add_totalCol( $array, $order ){ $array['totalwtax'] = __('Total With Tax'); // Προσθέτει την έξτρα στήλη return $array; } /** * Στο παρακάτω filter: woocommerce_admin_order_preview_line_item_column_(column) εμείς γράφουμε το key του column , το οποίο είναι από επάνω 'totalwtax'. Αυτά πάντα lowercase. */ add_filter( 'woocommerce_admin_order_preview_line_item_column_totalwtax', 'mertzanos_add_totalCol_value', 10, 4 ); function mertzanos_add_totalCol_value( $string, $item, $item_id, $order ){ $string = wc_price( $item->get_total()+$item->get_total_tax(), array( 'currency' => $order->get_currency() ) ); return $string; }
Αν όλα πήγαν καλά κάνουμε μία νέα παραγγελία και πλέον:
Αφήστε σχόλιο