Referência consolidada de todos os filtros disponíveis no plugin. Use para customizar comportamento sem editar o código do plugin.
Cálculo do prazo
wc_adpp_additional_days
Modifica o cálculo final dos dias adicionais. Último filtro aplicado antes do retorno.
add_filter( 'wc_adpp_additional_days', function( $days, $product, $variation, $cart_item ) {
// duplicar o prazo para produtos acima de 5kg
if ( $product->get_weight() > 5 ) {
return $days * 2;
}
return $days;
}, 10, 4 );
Parâmetros:
$days(int|false) — dias calculados.$product(WC_Product) — produto pai.$variation(WC_Product_Variation|null) — variação, quando aplicável.$cart_item(array|null) — dados do item no carrinho, quando em contexto de carrinho.
wc_adpp_per_product_always_show_message
Força a exibição da mensagem mesmo quando o produto tem 0 dias adicionais.
add_filter( 'wc_adpp_per_product_always_show_message', '__return_true' );
Padrão: false — produtos com 0 dias e sem prazo configurado não exibem mensagem.
wc_adpp_product_message
Modifica o HTML da mensagem exibida na página do produto.
add_filter( 'wc_adpp_product_message', function( $message, $days, $product ) {
return '<span class="icon-clock"></span>' . $message;
}, 10, 3 );
Parâmetros:
$message(string) — HTML completo da mensagem.$days(int) — dias adicionais.$product(WC_Product) — o produto.
Métodos de envio nativos
wc_additional_days_per_product_methods
Define quais métodos de envio nativos do WooCommerce ganham automaticamente o campo Prazo de entrega.
add_filter( 'wc_additional_days_per_product_methods', function( $methods ) {
$methods['meu_metodo'] = true;
unset( $methods['free_shipping'] );
return $methods;
});
Padrão: array( 'flat_rate' => true, 'local_pickup' => true, 'free_shipping' => true ).
wc_additional_days_per_product_delivery_time
Modifica o texto adicionado ao label dos métodos nativos quando há prazo configurado.
add_filter( 'wc_additional_days_per_product_delivery_time', function( $label, $delivery_time, $rate ) {
return sprintf( '(Delivery in %d business days)', $delivery_time );
}, 10, 3 );
Padrões:
flat_rate/free_shipping:(Entrega em X dias úteis).local_pickup:(Disponível em X dias úteis).
Parâmetros:
$label(string) — texto formatado padrão.$delivery_time(int) — número de dias.$rate(WC_Shipping_Rate) — o método de envio.
Integração com plugins de frete externos
wc_adpp_additional_days_custom_metadata
Indica qual metadado de um método de envio customizado contém o prazo de entrega — usado para integrar com plugins não suportados nativamente.
add_filter( 'wc_adpp_additional_days_custom_metadata', function( $custom_meta, $meta_data, $rate ) {
if ( str_contains( $rate->get_method_id(), 'meu-plugin-frete' ) ) {
return 'minha_meta_de_prazo';
}
return $custom_meta;
}, 10, 3 );
Parâmetros:
$custom_meta(string|false) — chave do metadado (inicialmentefalse).$meta_data(array) — todos os metadados do método.$rate(WC_Shipping_Rate) — o método de envio.
Tutorial completo em Integrar com plugin de frete não suportado.
wc_additional_days_per_product_not_replace
Impede a substituição de um número específico no label de um método de envio. Útil quando o label tem números que não são prazo (CEP, código de serviço).
add_filter( 'wc_additional_days_per_product_not_replace', function( $skip, $index, $rate ) {
if ( $index === 0 ) {
return true;
}
return $skip;
}, 10, 3 );
Parâmetros:
$skip(bool) — se deve pular esta substituição.$index(int) — índice do número encontrado no label.$rate(WC_Shipping_Rate) — o método de envio.
Debug
wc_additional_days_per_product_debug
Força ativar/desativar o debug programaticamente, sobrescrevendo a opção de admin.
add_filter( 'wc_additional_days_per_product_debug', function() {
return 'staging' === wp_get_environment_type();
});
Detalhes em Debug e logs.
Regras customizadas
wc_adpp_custom_rules
Define regras customizadas que adicionam campos extras na edição de produto.
add_filter( 'wc_adpp_custom_rules', function( $rules ) {
$rules['gravacao'] = array(
'label_append' => 'Gravação',
'description' => 'Dias adicionais para gravação personalizada',
);
return $rules;
});
wc_adpp_additional_days_custom_rules
Aplica a lógica das regras customizadas ao cálculo do prazo.
add_filter( 'wc_adpp_additional_days_custom_rules', function( $extra_time, $product, $rules ) {
foreach ( $rules as $rule_id => $rule ) {
$rule_days = get_post_meta( $product->get_id(), '_wc_additional_days_per_product_' . $rule_id, true );
if ( $rule_days ) {
$extra_time += intval( $rule_days );
}
}
return $extra_time;
}, 10, 3 );
Tutorial completo em Regras customizadas.