WooCommerce-在产品页面上显示运费

时间:2013-10-06 作者:tristanojbacon

我正在为客户开发一个使用WooCommerce的电子商务网站,他们希望能够在产品页面上显示产品的运输成本(因为这是他们在旧商店网站上的成本)。有没有办法做到这一点?我环顾四周,没有找到任何明确的答案,虽然StackExchange上也有类似的问题,但没有人回答这个问题。

我知道有一个79美元的插件可以做到这一点,但有没有办法设置每件商品的运输成本呢?宁愿避免购买插件。

2 个回复
最合适的回答,由SO网友:Steve Eldridge 整理而成

您可以在WooCommerce 2中显示每个项目的运输成本。十、enter image description here

由于您已将价格设置为固定价格和每件商品的价格,因此您可以通过将其写入产品描述来在产品描述中显示价格,或者您可以访问该商品的装运类别(这是一种分类法)“product\\u shipping\\u class”,该类别可以单独分配给每个产品,也可以通过对所有产品的快速编辑来分配。

如何在产品模板中显示它?每个产品页面都分为一个名为woocommerce的目录。您可以将该目录从Woocommerce的插件目录直接复制到主题文件夹中。在那里,您可以进行任何更改,而无需将来的更新覆盖您的主题更改。Here\'s the link 请参阅woocommerce主题文件的说明。

所以你从“单一产品”开始。php的页面。这是单个产品页面的主循环,然后是“内容单个产品”。php”,其中详细介绍了产品模板中的挂钩。

根据您想在何处显示装运信息,您现在可以访问分配给产品的条款(如果您对不同的产品有不同的费率)。使用get\\u the\\u terms($post->ID,\'product\\u shipping\\u class\')。有关使用call的详细信息see this post.

使用一些php解析出数组,您将知道shipping类,然后可以根据返回的shipping类进行计算,显示有关装运成本的信息。

还有一些涉及shipping类对象的方法可以做到这一点,但这应该是您的开始。

SO网友:Alex

旧帖子,但可能有助于显示shipping cost price

<?php
$slug = $product->get_shipping_class_id();
$slugobject = get_term_by(\'term_taxonomy_id\', $slug, \'product_shipping_class\');
echo $slugobject->description;?>
此脚本适用于固定费率装运类型:

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\'];

结束