Βάρος
Στο παρακάτω παράδειγμα ορίζουμε μέγιστο βάρος τα 2 κιλά εάν είναι πάνω απο 2, διαφορετικά θα πάρει το βάρος που έχει αυτόματα υπολογιστεί από τα προϊόντα
Copy function iben_geniki_myweight ($weight){
if ($weight > 2 ){
$newweight = 2 ;
} else {
$newweight = $weight;
}
return $newweight;
}
add_filter ( 'iben_geniki_filter_weight_order_metabox' , 'iben_geniki_myweight' ) ;
Τηλέφωνο 2 ή κινητό σε custom πεδίο
Εαν έχετε custom πεδίο στο checkout, πχ Κινητό και meta name είναι _billing_mobile κανένα πρόβλημα.
Σε άλλη περίπτωση εαν το custom πεδίο σας έχει διαφορετικό meta name τότε θα πρέπει να τρέξετε το παρακάτω κώδικα στο αρχείο chilld functions.php και απλά αλλάξτε το όνομα _billing_mobile με το δικό σας meta όνομα.
Η κάτω παύλα ( _ ) είναι απαραίτητη.
Copy function ben_geniki_mycustomphonefield (){
return '_billing_mobile' ;
}
add_filter ( 'iben_geniki_filter_phone2_metafield_order_metabox' , 'ben_geniki_mycustomphonefield' ) ;
Άλλα filters
iben_geniki_filter_comments_order_metabox
Για τα σχόλια / παρατηρήσεις του voucher
iben_geniki_filter_cashdelivery_order_metabox
Για την αντικαταβολή του voucher
Αναγνώριση 3rd party πληρωμή αντικαταβολής
Σε κάποιες περιπτώσεις που χρησιμοποιείται μέθοδο πληρωμής (αντικαταβολή) από κάποιο άλλο plugin ή custom. Σε αυτή την περίπτωση το plugin δεν γνωρίζει εαν είναι αντικαταβολή και να προστεθεί αυτόματα στο πεδίο.
alg_custom_gateway_1 = Είναι το ID της μεθόδου πληρωμής
Copy add_filter ( 'iben_geniki_filter_cashdelivery_payments_order_metabox' , 'iben_geniki_cash_delivery_add_alg_custom1' ) ;
function iben_geniki_cash_delivery_add_alg_custom1 (){
return $payments = array ( 'alg_custom_gateway_1' );
}
Προσθήκη αρ. παραγγελίας στο πεδιο σχόλια
Σε περίπτωση που θέλετε να εκτυπώνεται ο αρ. παραγγελίας μέσα στα σχόλια του voucher θα πρέπει να χρησιμοποιήσετε την παρακάτω function
Copy add_filter ( 'iben_geniki_filter_comments_order_metabox' , 'iben_geniki_override_com_meta' , 10 , 2 ) ;
function iben_geniki_override_com_meta ($comment , $order_id){
$order = wc_get_order ( $order_id ) ;
if ( ! is_object ( $order ) ){
return ;
}
//GET ORDER COMMENTS
$comments = $order -> get_customer_note () ;
$order_number = $order -> get_order_number () ;
return 'Παραγγελία ID:' . $order_number . ' ' . $comments;
}
Εμφάνιση προϊόντων στο σχόλια
Copy //works for automatic actions too below line
add_filter('iben_geniki_filter_automatic_comments_metafield_order', 'iben_geniki_display_products_in_comments', 10, 2 );
add_filter ( 'iben_geniki_filter_comments_order_metabox' , 'iben_geniki_display_products_in_comments' , 10 , 2 ) ;
function iben_geniki_display_products_in_comments ($comments , $order_id){
$order = wc_get_order ( $order_id ) ;
if ( ! is_object ( $order ) ){
return ;
}
$export = '' ;
if ($order -> get_items () ){
$count = count ( $order -> get_items ()) ;
$index = 0 ;
foreach ( $order -> get_items () as $item_id => $product_item ){
$index ++ ;
$product = $product_item -> get_product () ;
$export .= $product -> get_name () . ' x ' . $product_item -> get_quantity () . ($index == $count ? '' : ', ' );
}
}
// Εμφάνιση προιόντων μόνο
return $export;
// Εμφάνιση σχόλια πελάτη + προιόντα
// return $comments.' '.$export;
}
Εμφάνιση κωδικών SKU στο σχόλια
Copy //works for automatic actions too below line
add_filter('iben_geniki_filter_automatic_comments_metafield_order', 'iben_geniki_display_products_in_comments', 10, 2 );
add_filter ( 'iben_geniki_filter_comments_order_metabox' , 'iben_geniki_display_products_in_comments' , 10 , 2 ) ;
function iben_geniki_display_products_in_comments ($comments , $order_id){
$order = wc_get_order ( $order_id ) ;
if ( ! is_object ( $order ) ){
return ;
}
$export = '' ;
if ($order -> get_items () ){
$count = count ( $order -> get_items ()) ;
$index = 0 ;
foreach ( $order -> get_items () as $item_id => $product_item ){
$index ++ ;
$product = $product_item -> get_product () ;
$export .= $product -> get_sku () . ($index == $count ? '' : ', ' );
}
}
// Return only product SKUs
return $export;
// Εμφάνιση σχόλια πελάτη + προιόντα
// return $comments.' '.$export;
}
Διαφορετικό λογαριασμό για κάθε admin ID
Copy add_action ( 'admin_init' , 'iben_geniki_add_custom_acccounts' ) ;
function iben_geniki_add_custom_acccounts (){
// REQUIRE v2.4.0 and later
if ( ! class_exists ( 'Iben_Woo_Geniki_Admin_Woo' ) ) return ;
if ( ! is_admin () ) return ;
if ( ! current_user_can ( 'edit_shop_orders' ) ) return ;
//display admin bar which account is assigned
add_filter ( 'iben_geniki_filter_display_multiaccount_message' , '__return_true' ) ;
//display account column in vouchers list
add_filter ( 'iben_geniki_filter_vouchers_display_account_column' , '__return_true' ) ;
//Force request Geniki authentication key each time
add_filter ( 'iben_geniki_main_force_auth' , '__return_true' ) ;
add_filter ( 'iben_geniki_main_auth_slug_test' , function ($default_value ) {
return 'iben_geniki_auth_test_' . get_current_user_id () ;
} , 10 ) ;
add_filter ( 'iben_geniki_main_auth_slug_live' , function ($default_value ) {
return 'iben_geniki_auth_live_' . get_current_user_id () ;
} , 10 ) ;
$current_id = get_current_user_id () ;
// ADMIN ID
if ($current_id == 2 ){
// Γενική Username
add_filter ( 'iben_geniki_main_username' , function ($default_value ) {
return 'xxxxx' ;
} , 10 ) ;
// Γενική password
add_filter ( 'iben_geniki_main_password' , function ($default_value ) {
return 'xxxxxx' ;
} , 10 ) ;
// Γενική Api key
add_filter ( 'iben_geniki_main_api_key' , function ($default_value ) {
return 'F4B1D7AC-xxxx-4DD3-AB0D-xxxxxxx' ;
} , 10 ) ;
// ADMIN ID
} elseif ($current_id == 3 ){
// Γενική Username
add_filter ( 'iben_geniki_main_username' , function ($default_value ) {
return 'xxxxxxx' ;
} , 10 ) ;
// Γενική password
add_filter ( 'iben_geniki_main_password' , function ($default_value ) {
return 'xxxxxxx' ;
} , 10 ) ;
// Γενική Api key
add_filter ( 'iben_geniki_main_api_key' , function ($default_value ) {
return 'F4B1D7AC-xxxx-4DD3-AB0D-xxxxxxx' ;
} , 10 ) ;
}
}
Εμφάνιση σύνολο αντικαταβολών στην λίστα των vouchers
Copy add_filter ( 'iben_geniki_filter_listvouchers_displaycod_all' , '__return_true' ) ;
add_filter ( 'iben_geniki_filter_listvouchers_displaycod_delivered' , '__return_true' ) ;
add_filter ( 'iben_geniki_filter_listvouchers_displaycod_undelivered' , '__return_true' ) ;
Ενεργοποίηση cron για αυτόματο κλείσιμο ημερήσιων εργασιών
Απαιτείται έκδοση >= 2.8.0
Copy add_action ( 'rest_api_init' , 'iben_geniki_create_endpoint_cron_close_pending_jobs' ) ;
function iben_geniki_create_endpoint_cron_close_pending_jobs (){
register_rest_route (
'iben_geniki/v1' ,
'/close_pendings' ,
array(
'methods' => 'GET' ,
'callback' => 'callback_iben_geniki_cron_close_pending_jobs' ,
'permission_callback' => 'iben_geniki_check_api_password' ,
)
) ;
}
function iben_geniki_check_api_password ($request) {
$provided_password = $request -> get_param ( 'auth' ) ;
return $provided_password === 'CHANGE_PASSWORD' ;
}
function callback_iben_geniki_cron_close_pending_jobs () {
if ( ! class_exists ( 'Iben_Woo_Geniki' ) ) return ;
require_once IBEN_WOO_GENIKI_ROOT_DIR . 'admin/class-iben-woo-geniki-admin-woo.php' ;
$plugin_admin = new Iben_Woo_Geniki_Admin_Woo ();
if ( ! class_exists ( 'Iben_Woo_Geniki_Admin_Woo' ) ) return ;
return $plugin_admin -> iben_geniki_cron_close_pending_jobs () ;
}
// https://www.domain.com/wp-json/iben_geniki/v1/close_pendings?auth=CHANGE_PASSWORD
Αποθήκευση html στο πεδίο του tracking code
Απαιτείται έκδοση >= 3.1.3
Copy
function iben_geniki_extend_allowed_html ($allowed_html) {
// Define custom tags or attributes
$custom_html = array (
'table' => array (
'style' => array () ,
'align' => array () ,
'valign' => array () ,
'bgcolor' => array () ,
'border' => array () ,
'width' => array () ,
'cellspacing' => array () ,
'cellpadding' => array () ,
) ,
'tbody' => array () ,
'tr' => array () ,
'td' => array (
'style' => array () ,
'align' => array () ,
'valign' => array () ,
'bgcolor' => array () ,
'height' => array () ,
) ,
'img' => array (
'src' => array () ,
'height' => array () ,
'width' => array () ,
'alt' => array () ,
) ,
'strong' => array () ,
'span' => array (
'style' => array () ,
) ,
);
// Merge the custom tags or attributes with the predefined ones
return array_merge_recursive ( $allowed_html , $custom_html ) ;
}
add_filter ( 'iben_geniki_email_tracking_metabox_email_allowed_html_filter' , 'iben_geniki_extend_allowed_html' ) ;
add_filter ( 'iben_geniki_main_settings_email_default_body_allowed_html_filter' , 'iben_geniki_extend_allowed_html' ) ;
Last updated 8 months ago