我正在尝试从 WooCommerce 产品调用 ACF 值,因此我可以将其显示在发票中,但在获取具体信息时遇到问题。我添加了“内部 ID”的屏幕截图,即 ACF 字段和值。
产品中ACF字段值(设置示例):
我需要将其添加到以下内容中:
<?php do_action( 'wpo_wcpdf_before_order_details', $this->get_type(), $this->order ); ?>
<table class="order-details">
<thead>
<tr>
<th class="product"><?php _e( 'Product Name', 'woocommerce-pdf-invoices-packing-slips' ); ?></th>
<th class="reference"><?php _e( 'Product Reference', 'woocommerce-pdf-invoices-packing-slips' ); ?></th>
<th class="pick_quantity"><?php _e( 'Pick Qty', 'woocommerce-pdf-invoices-packing-slips' ); ?></th>
<th class="price"><?php _e( 'Price ex.VAT', 'woocommerce-pdf-invoices-packing-slips' ); ?></th>
<th class="vat"><?php _e( 'VAT', 'woocommerce-pdf-invoices-packing-slips' ); ?></th>
<th class="price"><?php _e( 'Price inc.VAT', 'woocommerce-pdf-invoices-packing-slips' ); ?></th>
</tr>
</thead>
<tbody>
<?php foreach ( $this->get_order_items() as $item_id => $item ) : ?>
<tr class="<?php echo apply_filters( 'wpo_wcpdf_item_row_class', 'item-'.$item_id, $this->get_type(), $this->order, $item_id ); ?>">
<td class="product">
<?php $description_label = __( 'Description', 'woocommerce-pdf-invoices-packing-slips' ); // registering alternate label translation ?>
<span class="item-name"><?php echo $item['name']; ?></span>
<?php do_action( 'wpo_wcpdf_after_item_meta', $this->get_type(), $item, $this->order ); ?>
</td>
<td class="reference">
<?php if ( ! empty( $item['sku'] ) ) : ?><dt class="sku"><dd class="sku"><?php echo $item['sku']; ?></dd><?php endif; ?>
<?php echo $item['thumbnail']?>
</td>
<td class="pick_quantity"><?php
echo $item['quantity'];
?></td>
<td class="price"><?php echo $item['line_total']; ?></td>
<td class="vat"><?php echo $item['line_tax']; ?></td>
<td class="price"><?php echo $item['order_price']; ?></td>
</tr>
<?php endforeach; ?>
</tbody>
<tfoot>
理想情况下我想更改线路:
<?php if ( ! empty( $item['sku'] ) ) : ?><dt class="sku"><dd class="sku"><?php echo $item['sku']; ?></dd><?php endif; ?>
来自 ACF 的“内部 ID”。
如果有人能提供帮助那就太好了,因为我对此完全是新手。
只需替换您的代码行:
<?php if ( ! empty( $item['sku'] ) ) : ?><dt class="sku"><dd class="sku"><?php echo $item['sku']; ?></dd><?php endif; ?>
具有以下内容:
<?php if ( $interval_id = get_field('interval-id', $item->get_product_id()) : ?><dt class="sku"><dd class="sku"><?php echo $interval_id; ?></dd><?php endif; ?>
将
'interval-id'
替换为 ACF 设置中使用的正确 slug。