Changeset 2561510
- Timestamp:
- 07/09/2021 09:40:02 PM (5 years ago)
- Location:
- wc-tracking-status/trunk
- Files:
-
- 3 edited
-
includes/admin/track-config.php (modified) (4 diffs)
-
includes/front/track-view.php (modified) (2 diffs)
-
readme.txt (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
wc-tracking-status/trunk/includes/admin/track-config.php
r2510360 r2561510 1 1 <?php 2 3 /******** SECCION TO OKTOSHOP DATA INPUT ***********/ 4 add_action( 'init', 'diurvan_taxonomy_wc_tracking' ); 5 function diurvan_taxonomy_wc_tracking() { 6 /** TAXONOMIAS DE ESTADOS **/ 7 $labels = array( 8 'name' => 'WC_Tracking_States', 9 'singular_name' => 'WcTracking State', 10 'menu_name' => 'WcTracking State', 11 'all_items' => 'All WcTracking States', 12 'parent_item' => 'Parent WcTracking State', 13 'parent_item_colon' => 'Parent WcTracking State:', 14 'new_item_name' => 'New WcTracking State Name', 15 'add_new_item' => 'Add WcTracking State Item', 16 'edit_item' => 'Edit WcTracking State', 17 'update_item' => 'Update WcTracking State', 18 'separate_items_with_commas' => 'Separate WcTracking State with commas', 19 'search_items' => 'Search WcTracking States', 20 'add_or_remove_items' => 'Add or remove WcTracking States', 21 'choose_from_most_used' => 'Choose from the most used WcTracking States', 22 ); 23 $args = array( 'labels' => $labels, 'hierarchical' => false, 'public' => true, 'show_ui' => true, 'show_admin_column' => false, 'show_in_nav_menus' => true, 'supports' => array( 'title', 'thumbnail' ) ); 24 register_taxonomy( 'diurvan_wctracking_state', 'product', $args ); 25 register_taxonomy_for_object_type( 'diurvan_wctracking_state', 'product' ); 26 /** TAXONOMIAS DE ESTADOS **/ 27 } 28 add_action( 'diurvan_wctracking_state_add_form_fields', 'diurvan_wc_tracking_add_fields' ); 29 function diurvan_wc_tracking_add_fields( $taxonomy ) { 30 echo '<div class="form-field"> 31 <label for="diurvan_wc_tracking_orden">Orden de presentación</label> 32 <input type="number" name="diurvan_wc_tracking_orden" id="diurvan_wc_tracking_orden" /> 33 </div>'; 34 } 35 add_action( 'diurvan_wctracking_state_edit_form_fields', 'diurvan_wc_tracking_edit_fields', 10, 2 ); 36 function diurvan_wc_tracking_edit_fields( $term, $taxonomy ) { 37 $value_orden = get_term_meta( $term->term_id, 'diurvan_wc_tracking_orden', true ); 38 echo '<tr class="form-field"> 39 <th> 40 <label for="diurvan_wc_tracking_orden">Orden de presentación</label> 41 </th> 42 <td> 43 <input name="diurvan_wc_tracking_orden" id="diurvan_wc_tracking_orden" type="number" value="' . esc_attr( $value_orden ) .'" /> 44 </td> 45 </tr>'; 46 } 47 add_action( 'created_diurvan_wctracking_state', 'diurvan_wctracking_state_save_term_fields' ); 48 add_action( 'edited_diurvan_wctracking_state', 'diurvan_wctracking_state_save_term_fields' ); 49 function diurvan_wctracking_state_save_term_fields( $term_id ) { 50 update_term_meta( $term_id, 'diurvan_wc_tracking_orden', sanitize_text_field( $_POST[ 'diurvan_wc_tracking_orden' ] ) ); 51 } 52 53 54 2 55 3 56 //Añade el campo de Estado en el Admin de la Orden … … 8 61 $current_status = get_post_meta( $order->get_id(), 'status_tracking', true ); 9 62 $current_status_history = get_post_meta( $order->get_id(), 'status_tracking_history', true ); 63 64 $cat_args = array( 'orderby' => 'diurvan_wc_tracking_orden', 'order' => 'asc', 'hide_empty' => false ); 65 $diurvan_wctracking_state = get_terms( 'diurvan_wctracking_state', $cat_args ); 66 $diurvan_wctracking_state_final = array(); 67 foreach ( $diurvan_wctracking_state as $wc_tracking_state ) { 68 $orden_tracking_cat = get_term_meta( $wc_tracking_state->term_id, 'diurvan_wc_tracking_orden', true ); 69 $diurvan_wctracking_state_final[$orden_tracking_cat] = (object) array( 70 'name' => $wc_tracking_state->name, 71 'slug' => $wc_tracking_state->slug, 72 'term_id' => $wc_tracking_state->term_id 73 ); 74 } 75 ksort( $diurvan_wctracking_state_final, SORT_NUMERIC ); 76 77 if(count($diurvan_wctracking_state) > 0){ 78 $array_options = array(); 79 $array_options[0] = __( 'Select Status Tracking', 'diu-wc-tracking-status'); 80 foreach($diurvan_wctracking_state_final as $wc_tracking_state){ 81 $array_options[$wc_tracking_state->term_id] = $wc_tracking_state->name; 82 } 83 } 84 10 85 woocommerce_wp_select( array( 11 86 'id' => 'status_tracking', … … 13 88 'label' => 'Status Tracking:', 14 89 'value' => $current_status, 15 'options' => array( 16 '0' => __( 'Select Status Tracking', 'diu-wc-tracking-status'), 17 'Orden realizada' => __('Orden realizada', 'diu-wc-tracking-status'), 18 'Orden lista para enviar' => __('Orden lista para enviar', 'diu-wc-tracking-status'), 19 'Orden enviada' => __('Orden enviada', 'diu-wc-tracking-status'), 20 'Orden en pais de destino' => __('Orden en pais de destino', 'diu-wc-tracking-status'), 21 'Orden entregada' => __('Orden entregada', 'diu-wc-tracking-status') 22 ), 90 'options' => $array_options, 23 91 'wrapper_class' => 'form-field-wide' 24 92 ) ); … … 92 160 <div style="width:40%;display:inline-block;float:left">'; 93 161 94 $notes = wc_get_order_notes( array( 95 'order_id' => $order_id, 96 'type' => '', // use 'internal' for admin and system notes, empty for all 97 ) ); 162 $html.='<table> 163 <tr> 164 <th>'.__("Product Name", "diu-wc-tracking-status").'</th> 165 <th>'.__("Quantity", "diu-wc-tracking-status").'</th> 166 <th>'.__("Sub Total", "diu-wc-tracking-status").'</th> 167 <th>'.__("Total", "diu-wc-tracking-status").'</th> 168 </tr>'; 169 if ( count( $orden->get_items() ) > 0 ) { 170 foreach ( $orden->get_items() as $item_id => $item ) { 171 $product = $item->get_product(); 172 $item_name = $item->get_name(); 173 $quantity = $item->get_quantity(); 174 $line_subtotal = $item->get_subtotal(); 175 $line_total = $item->get_total(); 176 $html.='<tr> 177 <td>'.$item_name.'</td> 178 <td>'.$quantity.'</td> 179 <td>'.$line_subtotal.'</td> 180 <td>'.$line_total.'</td> 181 </tr>'; 182 } 183 } 184 else{ 185 $html.='<tr> 186 <td>'.__("No items", "diu-wc-tracking-status").'</td> 187 </tr>'; 188 } 189 $html.='</table>'; 98 190 99 if ( $notes ) { 100 foreach( $notes as $key => $note ) { 101 if($note->customer_note == true){ 102 // system notes can be identified by $note->added_by == 'system' 103 $noteitem = nl2br($note->content); 104 } 105 } 106 } 107 $html .= '<span style="height: 50px;">'.$noteitem.'</span><br/> 108 </div> 109 </div> 110 </div>'; 191 $html .= '</div> 192 </div> 193 </div>'; 111 194 /*****/ 112 195 $cabeceras= array('Content-Type: text/html; charset=UTF-8'); -
wc-tracking-status/trunk/includes/front/track-view.php
r2510360 r2561510 22 22 23 23 if($orden){ 24 $estados = array( 20=>'Orden realizada', 40=>'Orden lista para enviar', 60=>'Orden enviada', 80=>'Orden en pais de destino', 100=>'Orden entregada' );25 24 $current_status = get_post_meta( $order_id, 'status_tracking', true ); 26 $valor = 0; 27 foreach ( $estados as $key => $value ) { 28 if ( $current_status == $value ) { 29 $valor = $key; 30 break; 25 $cat_args = array( 'orderby' => 'name', 'order' => 'asc', 'hide_empty' => false ); 26 $diurvan_wctracking_state = get_terms( 'diurvan_wctracking_state', $cat_args ); 27 $diurvan_wctracking_state_final = array(); 28 foreach ( $diurvan_wctracking_state as $wc_tracking_state ) { 29 $orden_tracking_cat = get_term_meta( $wc_tracking_state->term_id, 'diurvan_wc_tracking_orden', true ); 30 $diurvan_wctracking_state_final[$orden_tracking_cat] = (object) array( 31 'name' => $wc_tracking_state->name, 32 'slug' => $wc_tracking_state->slug, 33 'term_id' => $wc_tracking_state->term_id 34 ); 35 } 36 ksort( $diurvan_wctracking_state_final, SORT_NUMERIC ); 37 if(count($diurvan_wctracking_state_final) > 0){ 38 $estados = array(); $valor = 0; $indice = 1; $totalindice = 100/count($diurvan_wctracking_state_final); 39 foreach($diurvan_wctracking_state_final as $wc_tracking_state){ 40 $estados[$totalindice * $indice] = $wc_tracking_state->name; 41 if($current_status == $wc_tracking_state->term_id){ 42 $valor = $totalindice * $indice; 43 } 44 $indice++; 31 45 } 32 46 } … … 76 90 <br/> 77 91 <progress id="progressBar" max="100" value="'.$valor.'" data="'.$current_status.'"></progress> 78 <div style="width:100%;float:center;text-align:center"> 79 <div style="width:20%;float:left;margin-top: 20px;"> 80 <span>'.$estados[20].'</span> 81 </div> 82 <div style="width:20%;float:left;margin-top: 20px;"> 83 <span>'.$estados[40].'</span> 84 </div> 85 <div style="width:20%;float:left;margin-top: 20px;"> 86 <span>'.$estados[60].'</span> 87 </div> 88 <div style="width:20%;float:left;margin-top: 20px;"> 89 <span>'.$estados[80].'</span> 90 </div> 91 <div style="width:20%;float:left;margin-top: 20px;"> 92 <span>'.$estados[100].'</span> 93 </div> 92 <div style="width:100%;float:center;text-align:center">'; 93 94 if(count($diurvan_wctracking_state_final) > 0){ 95 $estados = array(); $valor = 0; $indice = 1; $totalindice = 100/count($diurvan_wctracking_state_final); 96 foreach($diurvan_wctracking_state_final as $wc_tracking_state){ 97 $html .= ' <div style="width:'.$totalindice.'%;float:left;margin-top: 20px;"> 98 <span>'.$wc_tracking_state->name.'</span> 99 </div>'; 100 $indice++; 101 } 102 } 103 104 $html .= ' 94 105 </div> 95 106 </div> -
wc-tracking-status/trunk/readme.txt
r2510367 r2561510 21 21 Major features in Wc Tracking Status include: 22 22 23 * Includes 5 steps to tracking: "Completed Order", "Order ready to send", "Sent order", "Order in destiny country" and "Delivered order"23 * Includes unlimited statuses, configured by yourself. 24 24 * Paint a graduant color depending from these status 25 25 26 26 Tutorial video: 27 [youtube https:// www.youtube.com/watch?v=USOHmbdhVmU]27 [youtube https://youtu.be/o7BQVMnkpjA] 28 28 29 29 ** Quick Links ** … … 67 67 == Changelog == 68 68 69 = 1.0.3 = 70 *Release Date - 09th July, 2021* 71 72 * A new taxonomy was included in the Products section that allows adding as many states as needed. 73 * The configured statuses are available when modifying the order, and are also displayed as a progress bar on the customer page. 74 69 75 = 1.0.2 = 70 76 *Release Date - 06th April, 2021*
Note: See TracChangeset
for help on using the changeset viewer.