1

使用 WooCommerce 和WooCommerce PDF 发票和装箱单插件,我遇到了问题。生成 PDF 发票时,它们会显示两次TAX :
以前的

我需要删除此重复项以使其看起来像这样:

后

我知道有一些具有大量功能的高级插件,但我不能再购买高级插件了,因为在其他插件上投入了太多。

所以我需要做一点点改变。我找不到任何解决方案。

任何人都可以帮助我吗?

4

2 回答 2

5

@update —工作且功能齐全

是的,您可以编辑默认模板以满足您的需求,而无需购买高级模板,但您需要在活动的子主题或主题中(如果尚不存在)

  1. 创建一个名为woocommerce
  2. 将文件夹从plugins> woocommerce-pdf-invoices-packing-slips> templates>pdf复制到这个新创建的woocommerce文件夹。
  3. 在这个文件夹中,用类似(或任何你想要的)pdf重命名子文件夹。simplecustom1
  4. 激活您的custom1pdf 模板,进入管理后端:
    WooCommerce> PDF Invoices> Template (tab),选择custom1* in 和 **save

现在在您的活动主题中 > woocommerce> pdf>custom1您可以自定义包含的模板文件以满足您的需求。


了解双重税收显示:问题出在foreach循环中。

1. 检索增值税重复值的 slug(键名):
正如您所说,在此循环中添加一些内容使其在每个显示的元素中重现。
在这里,我们将key在相应的后面显示名称或 slug values

<?php foreach( $wpo_wcpdf->get_woocommerce_totals() as $key => $total ) : ?>
    <tr class="<?php echo $key; ?>">
        <td class="no-borders"></td>
        <!-- we display the index value in here, below. -->
        <th class="description"><?php echo $total['label'] . " (The key is '" . $key . "') " ;?></th> 
        <td class="price"><span class="totals-price"><?php echo $total['value']; ?></span></td>
    </tr>
<?php endforeach; ?>

现在,如果您生成 pdf 发票,您将在每一行得到一个不同的$key名称或 slug (就在相应的值之后)

2.在循环中添加条件以避免显示重复:

现在您知道了重复元素的key名称,您可以在循环中使用if()语句来操作。您必须用重复项目'the_key_name'的真实key名称替换:

<?php foreach( $wpo_wcpdf->get_woocommerce_totals() as $key => $total ) :
    // As long as $key is NOT 'the_key_name' the item line is displayed
    if ($key != 'the_key_name'){ ?>
        <tr class="<?php echo $key; ?>">
            <td class="no-borders"></td>
            <th class="description"><?php echo $total['label']</th> 
            <td class="price"><span class="totals-price"><?php echo $total['value']; ?></span></td>
        </tr>
    <?php }
endforeach; ?>

现在,如果您生成 pdf 发票,则重复项目已完全消失

等等等等……祝你胃口大开:)

于 2016-04-12T12:09:38.403 回答
0

如果您正在寻找免费的替代品,插件WooCommerce PDF Invoices and Packing Slips可能会有所帮助。该插件确实允许您在发票中添加税款,您可以检查这是否有助于您的具体情况。

于 2020-12-24T05:45:52.400 回答