【如何在结帐页面上显示订单摘要()】我正在研究woo-commerce主题, 这很好, 但是在结帐页面上, 客户希望更改某些块的顺序。所以他想在订购摘要之前转移付款方式。我通过在function.php中添加以下代码来做到这一点。代码工作正常, 但是添加代码后, 我在结帐页面上看不到订单摘要。我看不到小计, 装运和总成本。我不知道这段代码有什么问题。这个你能帮我吗。
add_action( 'woocommerce_checkout_order_review', 'reordering_checkout_order_review', 1 );
function reordering_checkout_order_review(){
remove_action('woocommerce_checkout_order_review', 'woocommerce_checkout_payment', 20 );
add_action( 'woocommerce_checkout_order_review', 'custom_checkout_payment', 8 );
add_action( 'woocommerce_checkout_order_review', 'after_custom_checkout_payment', 9 );
add_action( 'woocommerce_checkout_order_review', 'custom_checkout_place_order', 20 );
}function after_custom_checkout_payment() {
?>
<
div id="before-order-table" class="woocommerce-checkout-custom-text">
<
h3>
<
?php _e("Your order", "woocommerce");
?>
<
/h3>
<
p>
<
?php /* _e("I have accepted the terms and bla bla bla", "woocommerce");
*/?>
<
/p>
<
/div>
<
?php
}function custom_checkout_payment() {
$checkout = WC()->
checkout();
if ( WC()->
cart->
needs_payment() ) {
$available_gateways = WC()->
payment_gateways()->
get_available_payment_gateways();
WC()->
payment_gateways()->
set_current_gateway( $available_gateways );
} else {
$available_gateways = array();
}if ( ! is_ajax() ) {
// do_action( 'woocommerce_review_order_before_payment' );
}
?>
<
div id="payment" class="woocommerce-checkout-payment-gateways">
<
?php if ( WC()->
cart->
needs_payment() ) : ?>
<
ul class="wc_payment_methods payment_methods methods">
<
?php
if ( ! empty( $available_gateways ) ) {
foreach ( $available_gateways as $gateway ) {
wc_get_template( 'checkout/payment-method.php', array( 'gateway' =>
$gateway ) );
}
} else {
echo '<
li class="woocommerce-notice woocommerce-notice--info woocommerce-info">
';
echo apply_filters( 'woocommerce_no_available_payment_methods_message', WC()->
customer->
get_billing_country() ? esc_html__( 'Sorry, it seems that there are no available payment methods for your state. Please contact us if you require assistance or wish to make alternate arrangements.', 'woocommerce' ) : esc_html__( 'Please fill in your details above to see available payment methods.', 'woocommerce' ) ) . '<
/li>
';
// @codingStandardsIgnoreLine
}
?>
<
/ul>
<
?php endif;
?>
<
/div>
<
?php
}function custom_checkout_place_order() {
$checkout= WC()->
checkout();
$order_button_text = apply_filters( 'woocommerce_order_button_text', __( 'Place order', 'woocommerce' ) );
?>
<
div id="payment-place-order" class="woocommerce-checkout-place-order">
<
div class="form-row place-order">
<
noscript>
<
?php esc_html_e( 'Since your browser does not support JavaScript, or it is disabled, please ensure you click the <
em>
Update Totals<
/em>
button before placing your order. You may be charged more than the amount stated above if you fail to do so.', 'woocommerce' );
?>
<
br/>
<
button type="submit" class="button alt" name="woocommerce_checkout_update_totals" value="http://www.srcmini.com/<
?php esc_attr_e('Update totals', 'woocommerce' );
?>
">
<
?php esc_html_e( 'Update totals', 'woocommerce' );
?>
<
/button>
<
/noscript>
<
?php wc_get_template( 'checkout/terms.php' );
?>
<
?php do_action( 'woocommerce_review_order_before_submit' );
?>
<
?php echo apply_filters( 'woocommerce_order_button_html', '<
button type="submit" class="button alt" name="woocommerce_checkout_place_order" id="place_order" value="' . esc_attr( $order_button_text ) . '" data-value="' . esc_attr( $order_button_text ) . '">
' . esc_html( $order_button_text ) . '<
/button>
' );
// @codingStandardsIgnoreLine ?>
<
?php do_action( 'woocommerce_review_order_after_submit' );
?>
<
?php wp_nonce_field( 'woocommerce-process_checkout', 'woocommerce-process-checkout-nonce' );
?>
<
/div>
<
/div>
<
?php
if ( ! is_ajax() ) {
do_action( 'woocommerce_review_order_after_payment' );
}
}
#1你还可以通过以下方式进行检查:
add_filter( 'woocommerce_checkout_fields' , 'custom_order_comments_checkout_fields' );
function custom_order_comments_checkout_fields( $fields ) {
if ( !WC()->
cart->
is_empty()):
$output = '';
$count = 0;
$cart_item_count = WC()->
cart->
get_cart_contents_count();
foreach ( WC()->
cart->
get_cart() as $cart_item_key =>
$cart_item ):
$count++;
// Displaying the product title
$output .= 'Product title: ' . $cart_item['data']->
post->
post_title;
// New line (for next item)
if($count <
$cart_item_count)
$output .= '';
endforeach;
$fields['order']['order_comments']['default'] = $output;
endif;
return $fields;
}
推荐阅读
- 如何在我的wordpress网站上显示实时访问者计数(计数更改)()
- 如何在WordPress主题上显示我自己的自定义字段()
- 如何显示WordPress的最新帖子[关闭]
- 如何在另一页上显示输入字段的数据
- 如何在”谢谢”页面中显示客户订单明细()
- 如何在页面字幕中显示当前日期( (wordpress主题”故事”))
- 如何在没有任何插件的WordPress边栏中显示选定类别的图书()
- 如何显示自定义postype类别的所有帖子()
- Apache的HTTP请求自动跳转HTTPS请求