FernandoAcosta.Net

Personalizar o nome dos produtos na declaração

3 min de leituraAtualizado há 1 hora

Na coluna Discriminação do Conteúdo, a declaração usa o nome de cada item como ficou registrado no pedido. Nem sempre é o melhor texto pra uma declaração: nomes comerciais longos, nomes com promoção no título ("Kit Black Friday") ou nomes que não dizem o que é o produto.

Você pode trocar o nome de duas formas: digitando na própria declaração antes de imprimir ou com um código que vale pra todas as impressões.

Na hora de imprimir

Na tela da declaração, clique no nome do produto e digite o texto novo. Vale só pra aquela impressão: ao recarregar a página, o nome original volta.

Se a janela de impressão abrir sozinha, clique em Cancelar pra editar e depois use o botão Imprimir página, no fim da declaração. Mais detalhes em Como editar os textos ou valores.

De forma permanente

Os exemplos abaixo usam o filtro wc_correios_declaration_product_name. Cole no functions.php do tema filho ou num plugin de snippets, como o Code Snippets. Use um exemplo por vez.

Um nome genérico pra todos os produtos

add_filter( 'wc_correios_declaration_product_name', function( $name, $item, $order ) {
    return 'Acessórios de moda';
}, 10, 3 );

Um nome por categoria

Troque camisetas e canecas pelos slugs das suas categorias. O slug aparece em Produtos → Categorias.

add_filter( 'wc_correios_declaration_product_name', function( $name, $item, $order ) {
    $product_id = $item->get_product_id();

    if ( has_term( 'camisetas', 'product_cat', $product_id ) ) {
        return 'Camiseta de algodão';
    }

    if ( has_term( 'canecas', 'product_cat', $product_id ) ) {
        return 'Caneca de cerâmica';
    }

    return $name;
}, 10, 3 );

Produtos fora dessas categorias continuam com o nome original.

Um nome próprio pra cada produto

Com este código, cada produto pode ter um nome só pra declaração, cadastrado num campo personalizado.

add_filter( 'wc_correios_declaration_product_name', function( $name, $item, $order ) {
    $nome = get_post_meta( $item->get_product_id(), 'nome_declaracao', true );

    return $nome ? $nome : $name;
}, 10, 3 );

Depois, em cada produto:

  1. Abra o produto em Produtos → Todos os produtos.
  2. Se a caixa Campos personalizados não aparece abaixo do editor, ative em Opções de tela, no topo da página.
  3. Na caixa Campos personalizados, crie um campo com o nome nome_declaracao e escreva no valor o texto que deve sair na declaração.
  4. Adicione o campo e atualize o produto.

Produtos sem o campo continuam com o nome original. Em produtos variáveis, o campo vai no produto principal e vale pra todas as variações.

Atributos das variações

Em produtos variáveis, o plugin acrescenta ao nome os atributos globais (cadastrados em Produtos → Atributos) que ainda não estão no nome do item, separados por barra. Eles aparecem como estão salvos no pedido, às vezes em minúsculas e com hífen (azul-marinho).

Pra tirar os atributos do nome:

add_filter( 'wc_correios_declaration_product_name_attributes', '__return_false' );
Nome genérico em produtos variáveis

Os exemplos acima trocam só o nome. Os atributos continuam sendo acrescentados depois dele. Se você usa um nome genérico, combine com o código desta seção.

Veja também

Foi útil?