我正在使用下面的代码来显示在“购物车”页面上添加额外费用(产品)到购物车的选项。它工作得很好,但它现在显示在购物车页面上,但我如何让它显示在结帐页面上另外:
<?php
/* ADD custom theme functions here */
add_filter( 'woocommerce_price_trim_zeros', 'wc_hide_trailing_zeros', 10, 1 );
function wc_hide_trailing_zeros( $trim ) {
return true;
}
add_action('woocommerce_cart_totals_after_shipping', 'wc_shipping_insurance_note_after_cart');
function wc_shipping_insurance_note_after_cart() {
global $woocommerce;
$product_id = 971;
foreach ( $woocommerce->cart->get_cart() as $cart_item_key => $values ) {
$_product = $values['data'];
if ( $_product->id == $product_id )
$found = true;
}
// if product not found, add it
if ( ! $found ):
?>
<tr class="shipping">
<th><?php _e( 'Gift wrapper', 'woocommerce' ); ?></th>
<td><a href="<?php echo do_shortcode('[add_to_cart_url id="971"]'); ?>"><?php _e( 'Add ($3)' ); ?> </a></td>
</tr>
<?php else: ?>
<tr class="shipping">
<th><?php _e( 'Gift wrapper', 'woocommerce' ); ?></th>
<td>$3</td>
</tr>
<?php endif;
}
我尝试过不同的方法,它应该是相当基本的,但我对我的functionsiderphp技能生疏。
1条答案
按热度按时间2w3rbyxf1#
你可以试着复制这个函数并给它一个新的名字,然后根据你想让它在结帐页面上的位置来改变钩子,下面是一个很好的关于结帐页面钩子的视觉指南:https://www.businessbloomer.com/woocommerce-visual-hook-guide-checkout-page/
试试这样的方法:
请注意我是如何将钩子从woocommerce_cart_totals_after_shipping更改为woocommerce_before_checkout_form的,您可以在这里尝试使用我链接到的指南上的钩子。我还将函数的名称从wc_shipping_insurance_note_after_cart更改为wc_shipping_insurance_note_after_checkout以避免冲突。