Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save xlplugins/395ba91512cd75d91487ff13a72cf0ae to your computer and use it in GitHub Desktop.
Save xlplugins/395ba91512cd75d91487ff13a72cf0ae to your computer and use it in GitHub Desktop.
move billing address section (any section ) below the gateway
/**
this snippet Work only if funnel builder 2.13 or Greater and AeroCheckout 3.8.1 or Greater
*/
class FunnelKitMoveSectionBelowGateway {
private $contained_section_fields = [ 7 => ''];
public function __construct() {
add_action( 'wfacp_internal_css', [ $this, 'css' ] );
add_action( 'wfacp_template_section_start', [ $this, 'wrapp_html_start' ], 10, 3 );
add_action( 'wfacp_template_section_end', [ $this, 'wrapp_html_end' ], 10, 3 );
add_filter( 'wfacp_display_place_order_buttons', [ $this, 'hide_place_order' ] );
add_action( 'woocommerce_review_order_after_payment', [ $this, 'print_sections' ], 9 );
add_action( 'woocommerce_review_order_after_payment', [ $this, 'print_order_button' ], 12 );
}
public function css() {
?>
<style>
body #wfacp-e-form .wfacp_payment .wfacp-section {
padding: 0 !important;
border: none !important;
}
</style>
<?php
}
public function wrapp_html_start( $step, $section_index, $section ) {
if ( isset( $this->contained_section_fields[ $section_index + 1 ] ) ) {
ob_start();
$this->contained_section_fields[ $section_index + 1 ] = 'start';
}
}
public function wrapp_html_end( $step, $section_index, $section ) {
if ( isset( $this->contained_section_fields[ $section_index + 1 ] ) && 'start' == $this->contained_section_fields[ $section_index + 1 ] ) {
$this->contained_section_fields[ $section_index + 1 ] = ob_get_clean();
}
}
public function hide_place_order() {
return false;
}
public function print_sections() {
foreach ( $this->contained_section_fields as $html ) {
echo $html;
}
}
public function print_order_button() {
$order_button_text = apply_filters( 'woocommerce_order_button_text', __( 'Place order', 'woocommerce' ) );
?>
<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="<?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' );
do_action( 'wfacp_woocommerce_review_order_before_submit' );
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
do_action( 'wfacp_woocommerce_review_order_after_submit' );
do_action( 'woocommerce_review_order_after_submit' );
?>
</div>
<?php
}
}
new FunnelKitMoveSectionBelowGateway();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment