我有以下代码在购物车和结帐页面的总计部分添加后缀文本:
add_filter( 'woocommerce_cart_total', 'custom_total_message' );
function custom_total_message( $price ) {
$msg = 'Prices for grocery items may vary at store. Final bill will be based on store receipt.<br />';
return $price . $msg;
}
但是,我只希望后缀文本仅在结帐时显示,而不在购物车页面中显示。
我如何做到这一点?
答案 0 :(得分:3)
只需使用Woocommerce conditional tags来仅限制结帐页面上的显示…
现在,您最好改用以下钩子,以免出现问题,将浮点数与总数上的st融化:
add_filter( 'woocommerce_cart_totals_order_total_html', 'custom_total_message_html', 10, 1 );
function custom_total_message_html( $value ) {
if( is_checkout() )
$value .= __('Prices for grocery items may vary at store. Final bill will be based on store receipt.') . '<br />';
return $value;
}
或者更好的是,在总计之后的一个单独的表行上,改用以下方法:
add_action( 'woocommerce_review_order_after_order_total', 'review_order_after_order_total_callback' );
function review_order_after_order_total_callback(){
$text = __('Prices for grocery items may vary at store. Final bill will be based on store receipt.');
?><tr class="order-total"><th colspan="2"><?php echo $text; ?></th></tr><?php
}
代码在活动子主题(或主题)的function.php文件中。经过测试,可以正常工作。
如果您决定保留最初的钩子,请使用以下内容:
add_filter( 'woocommerce_cart_total', 'custom_total_message', 10, 1 );
function custom_total_message( $price ) {
if( is_checkout() )
$price .= __('Prices for grocery items may vary at store. Final bill will be based on store receipt.') . '<br />';
return $price;
}
代码在活动子主题(或主题)的function.php文件中。未经测试。