WooCommerce - Mostrar custo de envio na página do produto [closed]

3

Estou desenvolvendo um site de e-commerce usando o WooCommerce para um cliente, e eles querem mostrar o custo de envio de um produto na página do produto (porque é isso que eles têm em seu antigo site de loja). Existe uma maneira de fazer isso? Eu olhei em volta e não consegui encontrar nada definitivo, e embora haja uma questão semelhante aqui no StackExchange, ninguém respondeu à pergunta.

Estou ciente de que há um plug-in de US $ 79 para isso, mas existe uma maneira de definir o custo de frete por item também? Preferiria evitar a compra de um plugin.

    
por tristanojbacon 06.10.2013 / 20:14

2 respostas

7

Você pode apresentar os custos de envio por item no WooCommerce 2.x.

Comovocêdefiniuospreçoscomofixoseporitem,épossívelexibi-losnadescriçãodoprodutosimplesmenteescrevendo-osnadescriçãodoprodutooupodeacessaraclassedefretedoitem(éumataxonomia)"product_shipping_class" pode ser atribuído a cada produto individualmente ou através de edição rápida para todos os produtos.

Como mostrá-lo em um modelo de produto? Cada página do produto é dividida em um diretório chamado woocommerce. Você pode copiar esse diretório do diretório de plug-ins para o Woocommerce diretamente na pasta do seu tema. Uma vez lá, você pode fazer alterações sem que futuras atualizações substituam as alterações do tema. Aqui está o link das instruções para arquivos de temas do woocommerce.

Então você começa com a página 'single-product.php'. Esse é o loop principal da página de um único produto e, em seguida, "content-single-product.php", que detalha os ganchos dentro do modelo do produto.

Dependendo de onde você deseja exibir as informações de envio, agora você pode acessar os termos atribuídos ao produto (caso tenha taxas diferentes para produtos diferentes). Use get_the_terms ($ post- > ID, 'product_shipping_class'). Para mais informações sobre o trabalho com a chamada veja este post.

Usando algum php para analisar a matriz, você saberá a classe de envio e poderá exibir informações sobre os custos de envio com um cálculo baseado na classe de frete retornada.

Existem mais algumas maneiras de fazer isso que envolvem o objeto de classe de envio, mas isso deve ser iniciado.

    
por Steve Eldridge 06.10.2013 / 21:26
3

Postagem antiga, mas pode ajudar a exibir o preço do frete

<?php
$slug = $product->get_shipping_class_id();
$slugobject = get_term_by('term_taxonomy_id', $slug, 'product_shipping_class');
echo $slugobject->description;?>

Este script funcionará para o tipo de envio com taxa fixa:

global $product; /* Remove if set already.. */
$shipping_class = $product->get_shipping_class();
$flat_rate = new WC_Shipping_Flat_Rate;
$symbol = get_woocommerce_currency_symbol();
echo $symbol . $flat_rate->flat_rates[$shipping_class]['cost'];
    
por Alex 03.02.2015 / 11:06

Tags