Στο παρακάτω παράδειγμα ορίζουμε μέγιστο βάρος τα 2 κιλά εάν είναι πάνω απο 2, διαφορετικά θα πάρει το βάρος που έχει αυτόματα υπολογιστεί από τα προϊόντα
Στο παρακάτω παράδειγμα ορίζουμε το βάρος υπολογίζοντας το ύψος * πλάτος * βάθος / 5000 του κάθε προϊόντος της παραγγελίας. Θα χρησιμοποιηθεί η μεγαλύτερη τιμή. Είτε η ογκοχρέωση είτε το συνολικό βάρος.
Εαν έχετε custom πεδίο στο checkout, πχ Κινητό και meta name είναι _billing_mobile κανένα πρόβλημα.
Σε άλλη περίπτωση εαν το custom πεδίο σας έχει διαφορετικό meta name τότε θα πρέπει να τρέξετε το παρακάτω κώδικα στο αρχείο chilld functions.php και απλά αλλάξτε το όνομα _billing_mobile με το δικό σας meta όνομα.
Η κάτω παύλα ( _ ) είναι απαραίτητη.
function mycustomphonefield(){
return '_billing_mobile';
}
add_filter( 'iben_elta_filter_phone2_metafield_order_metabox', 'mycustomphonefield' );
Άλλα filters
iben_elta_filter_comments_order_metabox
Για τα σχόλια / παρατηρήσεις του voucher
iben_elta_filter_cashdelivery_order_metabox
Για την αντικαταβολή του voucher
Αναγνώριση 3rd party πληρωμή αντικαταβολής
Σε κάποιες περιπτώσεις που χρησιμοποιείται μέθοδο πληρωμής (αντικαταβολή) από κάποιο άλλο plugin ή custom. Σε αυτή την περίπτωση το plugin δεν γνωρίζει εαν είναι αντικαταβολή και να προστεθεί αυτόματα στο πεδίο.
alg_custom_gateway_1 = Είναι το ID της μεθόδου πληρωμής
το παρακάτω παράδειγμα εμφανίζει ως διαθέσιμα φίλτρα της Γενικής και της Ελτά κούριερ
// Display the custom dropdown filter for the WooCommerce Orders
add_action('restrict_manage_posts', 'iben_custom_order_filter_dropdown');
function iben_custom_order_filter_dropdown() {
global $typenow;
if ($typenow == 'shop_order') {
$selected = isset($_GET['iben_custom_orders_filter']) ? $_GET['iben_custom_orders_filter'] : '';
echo '<select name="iben_custom_orders_filter" id="iben_custom_orders_filter">
<option value="">'.__('Φιλτρο ανα κούριερ', 'woocommerce').'</option>
<option value="geniki" '.selected('geniki', $selected, false).'>Γενική Ταχυδρομική</option>
<option value="eltacourier" '.selected('eltacourier', $selected, false).'> Ελτά Κουριερ</option>
</select>';
}
}
// Filter the WooCommerce orders as per the selection of the custom dropdown filter
add_filter('request', 'iben_custom_orders_filter');
function iben_custom_orders_filter($vars) {
global $typenow;
if ($typenow == 'shop_order') {
if (isset($_GET['iben_custom_orders_filter'])) {
if ( $_GET['iben_custom_orders_filter'] == 'geniki' ){
$vars['meta_key'] = '_iben_geniki_voucher_generated';
$vars['meta_value'] = 1;
}else if ( $_GET['iben_custom_orders_filter'] == 'eltacourier' ){
$vars['meta_key'] = '_iben_elta_voucher_generated';
$vars['meta_value'] = 1;
}
}
}
return $vars;
}
Αντικατάσταση αναγνωριστικών στον αυτόματο ελέγχο παράδοσης
//σήμανση ως παραδομένο
function iben_elta_override_array_delivery_strings(){
return array('ΑΠΟΣΤΟΛΗ ΠΑΡΑΔΟΘΗΚΕ-ΧΩΡΙΣ ΣΤΟΙΧΕΙΟ ΠΑΡΑΔΟΣΗΣ', 'ΧΧΧΧΧ');
}
add_filter('iben_elta_filter_delivery_array_strings', 'iben_elta_override_array_delivery_strings');
//Φίλτρο σήμανσης ως επστρέφεται
function iben_elta_override_array_returned_array_strings(){
return array('ΕΠΙΣΤΡΟΦΗ ΣΤΟΝ ΑΠΟΣΤΟΛΕΑ', 'ΑΚΥΡΩΣΗ ΑΠΟ ΔΙΑΝΟΜΕΑ');
}
add_filter('iben_elta_filter_returned_array_strings', 'iben_elta_override_array_returned_array_strings');
//Φίλτρο σήμανσης ως επικίνδυνο προς επιστροφή
function iben_elta_override_array_delivery_strings(){
return array('ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΥΡΙΔΑ', 'ΕΙΣΑΓΩΓΗ ΘΥΡΙΔΑ', 'ΠΑΡΑΛΗΠΤΗΣ ΕΚΤΟΣ - ΕΤΑΙΡΙΑ ΚΛΕΙΣΤΗ', 'Ο ΠΑΡΑΛΗΠΤΗΣ ΔΕΝ ΕΝΤΟΠΙΖΕΤΑΙ', 'ΠΑΡΑΛΗΠΤΗΣ ΔΕΝ ΕΝΤΟΠΙΖΕΤΑΙ', 'ΕΙΔΟΠΟΙΗΘΗΚΕ - ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΣΤΑΘΜΟ');
}
add_filter('iben_elta_filter_returning_array_strings', 'iben_elta_override_array_delivery_strings');
Προσθήκη order number στις παρατηρήσεις
//ενεργοποίηση εκτύπωσης σχολίων στο voucher για την μαζική
add_filter( 'iben_elta_filter_multi_create_enable_comments_metafield_order', '__return_true' );
add_filter('iben_elta_filter_multi_create_comments_metafield_order', 'iben_elta_add_order_number_comments', 10, 2);
add_filter('iben_elta_filter_automatic_comments_metafield_order', 'iben_elta_add_order_number_comments', 10, 2);
add_filter('iben_elta_filter_comments_order_metabox', 'iben_elta_add_order_number_comments', 10, 2);
function iben_elta_add_order_number_comments($comments, $order_id){
$order = wc_get_order($order_id);
if ( !is_a( $order, 'WC_Order' ) ){ return; }
//GET ORDER COMMENTS
$comments = $order->get_customer_note();
$order_number = $order->get_order_number();
return 'Παραγγελία ID:'.$order_number.' '.$comments;
}