Advertisement
ScottD

Araceli WooCommerce Checkout Field Functions

Jun 2nd, 2016
246
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 7.83 KB | None | 0 0
  1. <input type="text" name="direccion" id="direccion"
  2. value="ID ) ); ?>”
  3. class=”regular-text” />
  4.  
  5. <input type="text" name="ciudad" id="ciudad"
  6. value="ID ) ); ?>
  7. class=”regular-text” />
  8.  
  9. <input type="text" name="empresa" id="empresa"
  10. value="ID ) ); ?>”
  11. class=”regular-text” />
  12.  
  13. <input type="text" name="colegiado" id="colegiado"
  14. value="ID ) ); ?>
  15. class=”regular-text” />
  16.  
  17. __(‘Twitter’),
  18. ‘fb’ => __(‘Facebook’),
  19. ‘linkedin’ => __(‘LinkedIn+)
  20. );
  21.  
  22. return $user_contactmethods;
  23. }
  24. //Eliminar campos de usuarios
  25. function remove_profil_info($removeInfo){
  26. unset($contactmethods[‘aim’]);
  27. unset($contactmethods[‘jabber’]);
  28.  
  29. return $removeInfo;
  30. }
  31. add_filter(‘user_contactmethods’, ‘extended_contact_info’);
  32. add_filter(‘user_contactmethods’, ‘extended_contact_info’);
  33.  
  34. /*—————————————————*/
  35. /* Editar celdas Checkout Woocommerce
  36. /*—————————————————*/
  37.  
  38. // WooCommerce Checkout Fields Hook
  39. add_filter( ‘woocommerce_checkout_fields’ , ‘custom_wc_checkout_fields’ );
  40.  
  41. // Change order comments placeholder and label, and set billing phone number to not required.
  42. function custom_wc_checkout_fields( $fields ) {
  43. $fields[‘billing’][‘billing_first_name’][‘placeholder’] = ‘Nombre o razon social’;
  44. $fields[‘billing’][‘billing_city’][‘placeholder’] = ‘Ciudad’;
  45. $fields[‘billing’][‘billing_last_name’][‘required’] = false;
  46. $fields[‘billing’][‘billing_company’][‘required’] = false;
  47. return $fields;
  48. }
  49.  
  50. /*—————————————————*/
  51. /* Agregar CIF a datos facturación
  52. /*—————————————————*/
  53.  
  54. //Arreglamos la dirección predeterminada
  55. function agrega_campo_nif_formularios( $fields ) {
  56. $fields[‘nif’] = array(
  57. ‘label’ => __(‘NIF‘, ‘woocommerce’),
  58. ‘placeholder’ => _x(‘NIF/CIF’, ‘placeholder’, ‘woocommerce’),
  59. ‘required’ => false,
  60. class=> array(‘form-row-first’),
  61. );
  62.  
  63. //Ordena los campos del formulario
  64. $orderedFields = array();
  65. $orderedFields = array_slice( $fields, 0, 3, true );
  66. $orderedFields[ ‘nif’ ] = $fields[‘nif’];
  67. $orderedFields = array_merge( $orderedFields, array_slice( $fields, 3 ) );
  68.  
  69. return $orderedFields;
  70. }
  71. add_filter(‘woocommerce_default_address_fields’ , ‘agrega_campo_nif_formularios’);
  72.  
  73. //Nueva función para hacer compatible el código con WooCommerce 2.1
  74. function obtener_campo_personalizado( $field, $order) {
  75. $value = get_post_meta( $order, $field, false );
  76.  
  77. if ( isset( $value[0] ) ) return $value[0];
  78.  
  79. return NULL;
  80. }
  81.  
  82. //Añade el NIF a la dirección de facturación y envío
  83.  
  84. add_filter(‘woocommerce_order_formatted_billing_address’,’agrega_campo_nif_direccion_facturacion’, 1, 2);
  85. function agrega_campo_nif_direccion_facturacion($fields, $order) {
  86. $fields[‘nif’] = obtener_campo_personalizado(‘_billing_nif’, $order->id);
  87.  
  88. return $fields;
  89. }
  90.  
  91. add_filter(‘woocommerce_order_formatted_shipping_address’,’agrega_campo_nif_direccion_envio’, 1, 2);
  92. function agrega_campo_nif_direccion_envio($fields, $order) {
  93. $fields[‘nif’] = obtener_campo_personalizado(‘_shipping_nif’, $order->id);
  94.  
  95. return $fields;
  96. }
  97.  
  98. add_filter(‘woocommerce_formatted_address_replacements’,’formato_direccion_de_facturacion’, 1, 2);
  99. function formato_direccion_de_facturacion($fields, $argumentos) {
  100. $fields[{nif}] = $argumentos[‘nif’];
  101. $fields[{nif_upper}] = strtoupper($argumentos[‘nif’]);
  102.  
  103. return $fields;
  104. }
  105.  
  106. //Reordena los campos de la dirección predeterminada
  107. add_filter(‘woocommerce_localisation_address_formats’,’formato_direccion_localizacion’);
  108. function formato_direccion_localizacion($fields) {
  109. $fields[default] ={name}\n{company}\n{nif}\n{address_1}\n{address_2}\n{city}\n{state}\n{postcode}\n{country};
  110. $fields[‘ES’] ={name}\n{company}\n{nif}\n{address_1}\n{address_2}\n{postcode} {city}\n{state}\n{country};
  111.  
  112. return $fields;
  113. }
  114.  
  115. //Añade el campo CIF/NIF a usuarios
  116. add_filter(‘woocommerce_customer_meta_fields’, ‘agrega_campos_administracion_usuarios’);
  117. function agrega_campos_administracion_usuarios($fields) {
  118. $orderedFields = array();
  119.  
  120. $fields[‘billing’][‘fields’][‘billing_nif’] = array(
  121. ‘label’ => __( ‘NIF’, ‘woocommerce’ ),
  122. ‘description’ =>
  123. );
  124.  
  125. //Ordena los campos en el perfil del cliente
  126. $orderedFields[ ‘billing’ ][ ‘title’ ] = $fields[‘billing’][‘title’];
  127.  
  128. $orderedFields[ ‘billing’ ][ ‘fields’ ] = array_slice( $fields[‘billing’][‘fields’], 0, 3, true );
  129. $orderedFields[‘billing’][‘fields’][‘billing_nif’] = $fields[‘billing’][‘fields’][‘billing_nif’];
  130. $orderedFields[ ‘billing’ ][ ‘fields’ ] = array_merge( $orderedFields[ ‘billing’ ][ ‘fields’ ], array_slice( $fields[ ‘billing’ ][ ‘fields’ ], 3 ) );
  131. $orderedFields[ ‘shipping’ ] = $fields[‘shipping’];
  132.  
  133. return $orderedFields;
  134. }
  135.  
  136. //Añadimos el NIF a la dirección de facturación y envío
  137. add_filter(‘woocommerce_user_column_billing_address’,’agrega_campo_nif_usuario_direccion_facturacion’, 1, 2);
  138. function agrega_campo_nif_usuario_direccion_facturacion($fields, $user) {
  139. $fields[‘nif’] = get_user_meta($user, ‘billing_nif’, true);
  140.  
  141. return $fields;
  142. }
  143.  
  144. //Añade el campo NIF a Editar mi dirección
  145. add_filter(‘woocommerce_my_account_my_address_formatted_address’, ‘agrega_campo_nif_editar_direccion’, 10, 3);
  146. function agrega_campo_nif_editar_direccion($fields, $user, $name) {
  147. $fields[‘nif’] = get_user_meta($user, $name . ‘_nif’, true);
  148.  
  149. //Ordena los campos
  150. $fields_nuevos[‘first_name’] = $fields[‘first_name’];
  151. $fields_nuevos[‘last_name’] = $fields[‘last_name’];
  152. $fields_nuevos[‘company’] = $fields[‘company’];
  153. $fields_nuevos[‘nif’] = $fields[‘nif’];
  154. $fields_nuevos[‘address_1’] = $fields[‘address_1’];
  155. $fields_nuevos[‘address_2’] = $fields[‘address_2’];
  156. $fields_nuevos[‘postcode’] = $fields[‘postcode’];
  157. $fields_nuevos[‘city’] = $fields[‘city’];
  158. $fields_nuevos[‘state’] = $fields[‘state’];
  159. $fields_nuevos[‘country’] = $fields[‘country’];
  160.  
  161. return $fields_nuevos;
  162. }
  163.  
  164. //Añade el campo NIF a Detalles del pedido
  165. add_filter(‘woocommerce_admin_billing_fields’, ‘agrega_campo_nif_editar_direccion_pedido’);
  166. add_filter(‘woocommerce_admin_shipping_fields’, ‘agrega_campo_nif_editar_direccion_pedido’);
  167. function agrega_campo_nif_editar_direccion_pedido($fields) {
  168. $fields[‘nif’] = array(
  169. ‘label’ => __(‘NIF’, ‘woocommerce’),
  170. ‘show’ => false
  171. );
  172.  
  173. //Ordena los campos
  174. $fields_nuevos[‘first_name’] = $fields[‘first_name’];
  175. $fields_nuevos[‘last_name’] = $fields[‘last_name’];
  176. $fields_nuevos[‘company’] = $fields[‘company’];
  177. $fields_nuevos[‘nif’] = $fields[‘nif’];
  178. $fields_nuevos[‘address_1’] = $fields[‘address_1’];
  179. $fields_nuevos[‘address_2’] = $fields[‘address_2’];
  180. $fields_nuevos[‘postcode’] = $fields[‘postcode’];
  181. $fields_nuevos[‘city’] = $fields[‘city’];
  182. $fields_nuevos[‘state’] = $fields[‘state’];
  183. $fields_nuevos[‘country’] = $fields[‘country’];
  184.  
  185. return $fields_nuevos;
  186. }
  187.  
  188. /**
  189. * Incluye el campo NIF en el email de notificación del cliente
  190. */
  191.  
  192. add_filter(‘woocommerce_email_order_meta_keys’, ‘muestra_campo_personalizado_email’);
  193.  
  194. function muestra_campo_personalizado_email( $keys ) {
  195. $keys[] = ‘NIF’;
  196. return $keys;
  197. }
  198.  
  199. /**
  200. * Incluir NIF en la factura
  201. */
  202.  
  203. add_filter( ‘wpo_wcpdf_billing_address’, ‘incluir_nif_en_factura’ );
  204.  
  205. function incluir_nif_en_factura( $address ){
  206. global $wpo_wcpdf;
  207.  
  208. echo $address .;
  209. $wpo_wcpdf->custom_field( ‘NIF’, ‘NIF/CIF:);
  210. echo;
  211. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement