问题描述
我在这里尝试获取发货单下方的付款单。就像图片中解释的那样。 Example Image just Form not CSS
我在互联网上找到了这些带有这张图片的代码,需要帮助来理解这一点。
<?PHP
/**
* Moving the payments
*/
add_action( 'woocommerce_checkout_shipping','my_custom_display_payments',20 );
/**
* displaying the Payment Gateways
*/
function my_custom_display_payments() {
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();
}
?>
<div id="checkout_payments">
<h3><?PHP esc_html_e( 'Billing','woocommerce' ); ?></h3>
<?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">' . 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.PHP 中,用于订单审查碎片。
<?PHP
/**
* Adding the payment fragment to the WC order review AJAX response
*/
add_filter( 'woocommerce_update_order_review_fragments','my_custom_payment_fragment' );
/**
* Adding our payment gateways to the fragment #checkout_payments so that this HTML is replaced with the updated one.
*/
function my_custom_payment_fragment( $fragments ) {
ob_start();
my_custom_display_payments();
$html = ob_get_clean();
$fragments['#checkout_payments'] = $html;
return $fragments;
}
<?PHP
/**
* Checkout Payment Section
*
* This template can be overridden by copying it to yourtheme/woocommerce/checkout/payment.PHP.
*
* HOWEVER,on occasion WooCommerce will need to update template files,and you
* (the theme developer) will need to copy the new files to your theme to
* maintain compatibility. We try to do this as little as possible,but it does
* happen. When this occurs the version of the template file will be bumped and
* the readme will list any important changes.
*
* @see https://docs.woocommerce.com/document/template-structure/
* @package WooCommerce/Templates
* @version 3.5.3
*/
defined( 'ABSPATH' ) || exit;
if ( ! is_ajax() ) {
do_action( 'woocommerce_review_order_before_payment' );
}
?>
<div id="payment" class="woocommerce-checkout-payment">
<div class="form-row place-order">
<noscript>
<?PHP
/* translators: $1 and $2 opening and closing emphasis tags respectively */
printf( esc_html__( 'Since your browser does not support JavaScript,or it is disabled,please ensure you click the %1$sUpdate Totals%2$s button before placing your order. You may be charged more than the amount stated above if you fail to do so.','woocommerce' ),'<em>','</em>' );
?>
<br/><button type="submit" class="button alt" name="woocommerce_checkout_update_totals" value="<?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' );
}
如果我在 function.PHP 中添加第一个代码,网站将停止工作并显示此网站出现严重错误。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)