Skip to content

Desarrolladores

Esta sección contiene información util para los desarrolladores que deseen extender la funcionalidad de nuestro plugin.

El selector de sucursales de OCA se creará con el ID oca-branches-selection-wrapper, asi que podes modificarlo con CSS para que se ajuste al estilo de tu tienda

CSS en el selector de sucursales
#oca-branches-selection-wrapper {
background: #6927b1;
border-radius: 10px;
box-shadow: 0 1px 2px 0 rgba(0,0,0,.2);
}
#oca-branches-selection-wrapper .oca-select-office-message {
color: #fff;
}
#oca-branches-selection-wrapper > select {
border: none;
padding: 5px;
background-color: #fff;
border-radius: 5px;
}

Nuestro plugin está escrito en inglés y traducido al español. Por lo que con cualquier plugin de traducción como por ejemplo Loco Translate vas a poder modificar cualquier cadena de texto mostrada por el plugin.

El shortcode [oca_order_tracking with_form=true] añade un formulario para que el cliente final pueda ingresar un número de envío y rastrear su pedido. Sin embargo si se quiere usar un formulario personalizado, hay que usar el shortcode de la siguiente manera [oca_order_tracking].

Al usar el shortcode sin el atributo with_form se evitará mostrar el formulario por defecto, y automáticamente mostrará los resultados de OCA siempre que la página cargue con el parámetro GET oca_tracking_number. Por ejemplo: https://mitienda.com/rastreo?oca_tracking_number=123

OCA para WooCommerce ofrece distintas acciones y filtros que podes incluir en tu plugin o tema, están listados a continuación:

Hook Tipo Argumentos Descripción
wc_oca_locate_template filter $template, $template_name, $template_path, $default_path Permite modificar la ruta a usar al buscar la plantilla de un mail
wc_oca_items_before_process filter $items, $to, $order Permite modificar los productos a utilizar antes de procesar una orden
wc_oca_to_before_process filter $to, $items, $order Permite modificar los datos del destinatario antes de procesar una orden
wc_oca_response_after_process filter $response, $order Permite modificar la respuesta obtenida de OCA luego de procesar una orden
wc_oca_cart_before_shipping_calculation filter $items, $cart, $customer Permite modificar los productos a utilizar antes de cotizar un carrito
wc_oca_shipping_codes_before_quote filter $shipping_codes, $seller_postcode, $items, $customer Permite modificar las operativas antes de cotizar un carrito
wc_oca_door_shipping_rate filter $rate, $code, $items Permite modificar la cotización con destino a puerta obtenida en el carrito antes de agregarla al checkout
wc_oca_branch_shipping_rate filter $rate, $code, $items Permite modificar la cotización con destino a sucursal obtenida en el carrito antes de agregarla al checkout
wc_oca_door_dispatch_minutes_treshold filter $days Permite agregar minutos antes de considerar que el tiempo de colecta ya finalizó (solo válido para operativas con colecta). Por ejemplo el valor 5 significa que si la colecta es hasta las 8pm, a las 7:56pm o más, ya se usará el siguiente día para la colecta; Otro ejemplo: 30 representa lo mismo pero a partir de las 7:31pm
wc_oca_shipping_label filter $shipping_label, $shipping_code, $final_price, $customer_price, $delivery_days, $selected_branch Permite modificar el nombre del medio de envío en el checkout
wc_oca_before_order_process_starts action $order Ocurre antes de iniciar el proceso de procesar una orden
wc_oca_before_order_process action $order Ocurre antes de procesar una orden
wc_oca_order_process_failed action $order, $reason Ocurre cuando falla el intento de procesar una orden
wc_oca_after_order_process action $order Ocurre luego de procesar una orden
wc_oca_after_order_cancel action $order Ocurre antes de cancelar una orden
wc_oca_after_order_cancel action $order Ocurre luego de cancelar una orden
wc_oca_cart_before_items_calculation action $cart, $customer Ocurre antes de cotizar un carrito
wc_oca_process_order action $order Esta accion genera una etiqueta para una orden en específico

Los snippets son fragmentos de código que se pueden incluir en tu plugin o tema para agregar funcionalidad adicional a nuestros plugins. Deben ir en el archivo functions.php de tu tema activo y es necesario contar con conocimientos en programación PHP para modificarlos.

Modificar el nombre del medio de envío en el checkout

Sección titulada «Modificar el nombre del medio de envío en el checkout»
add_filter( 'wc_oca_shipping_label', 'crplugins_custom_shipping_method_label', 10, 6 );
function crplugins_custom_shipping_method_label( $shipping_label, $shipping_code, $final_price, $customer_price, $delivery_days, $selected_branch ) {
$existing_label = 'Envío a Domicilio ({{oca_tiempo_entrega}} {{dias}})';
$new_label = 'Express shipping with OCA ({{oca_tiempo_entrega}} {{dias}})';
if ( $existing_label === $shipping_label ) {
return $new_label;
}
return $shipping_label;
}