FernandoAcosta.Net

Regras customizadas

1 min de leituraAtualizado há 2 semanas1.8.0

Regras customizadas criam campos extras de dias na aba Entrega do produto, como Dias adicionais: Gravação. O plugin só cria e grava os campos. A soma é você quem faz.

1. Criar os campos

add_filter( 'wc_adpp_custom_rules', function ( $rules ) {
    $rules['gravacao'] = [
        'label_append' => 'Gravação',
        'description'  => 'Dias pra gravar o produto',
    ];
    return $rules;
} );

Cada valor fica na meta _wc_additional_days_per_product_gravacao. Esses campos aceitam número negativo, pra descontar dias.

2. Somar ao prazo

add_filter( 'wc_adpp_additional_days_custom_rules', function ( $days, $product, $rules ) {
    foreach ( array_keys( $rules ) as $id ) {
        $days = (int) $days + (int) $product->get_meta( '_wc_additional_days_per_product_' . $id );
    }
    return $days;
}, 10, 3 );

$product é sempre o produto pai, mesmo pra variações.

Bom saber

  • Os campos aparecem só no produto, não nas variações nem no Dokan.
  • Pra depender de uma escolha do cliente (ex.: "quero gravação"), leia o item do carrinho no filtro wc_adpp_additional_days, que recebe $cart_item.
Foi útil?