FernandoAcosta.Net

Integrar com plugin de frete não suportado

1 min de leituraAtualizado há 2 semanas1.8.0

Ligue Debug dos métodos, calcule o frete e veja no log (fonte wc-additiona-days-per-product) como a cotação chega: o nome (label) e os metadados (meta_data).

O prazo está no nome

Ex.: Expresso (5 dias úteis). O plugin já troca os números do nome pelo prazo somado.

Se o nome tem outros números (código de serviço, por exemplo), impeça a troca pela posição do número, contando do zero:

add_filter( 'wc_additional_days_per_product_not_replace', function ( $skip, $index, $rate ) {
    // "Serviço 040 (5 dias)": não mexe no 040
    return ( 0 === $index && str_contains( $rate->get_method_id(), 'meu-frete' ) ) ? true : $skip;
}, 10, 3 );

O prazo está num metadado

Ex.: meta_data tem meu_prazo => 5. Diga ao plugin qual é a chave:

add_filter( 'wc_adpp_additional_days_custom_metadata', function ( $key, $meta_data, $rate ) {
    return str_contains( $rate->get_method_id(), 'meu-frete' ) ? 'meu_prazo' : $key;
}, 10, 3 );

O metadado precisa ser só o número. Se for texto (5 dias úteis), ajuste a cotação antes, no filtro woocommerce_package_rates com prioridade abaixo de 20.

Depois, calcule o frete de novo e confira no log a linha "Resultado".

Foi útil?