Tagged: woocommerce
-
AuthorPosts
-
February 16, 2024 at 8:42 pm #1434540
Hello! I’m attempting to make changes to the checkout page and have a few questions:
Is there a method to disable the Enfold theme for the WooCommerce checkout page and instead utilize the default WooCommerce template?
I’m encountering difficulty modifying checkout page elements with jQuery as they load last. Is there a way to address or change this behavior?
Which files within Enfold should I examine if I wish to modify the layout of the enfold WooCommerce checkout page?
Thank you for your assistance.
February 18, 2024 at 4:40 pm #1434671Hey Hawkthalas,
Thank you for your patience but unfortunately we don’t have a way to disable Enfold from the checkout page alone. You can view the file \enfold\config-woocommerce\config.php to see the layout, but typically I find jQuery the easiest way to adjust, if you are having issues with it typically wrapping your script with this helps:window.addEventListener('DOMContentLoaded', function() { (function($) { // script here }(jQuery)); });
note the addEventListener(‘DOMContentLoaded’ or using a
setTimeout(function () { // script here }, 500);
may help.
If you explain what you want to achieve a add a link to your page we could help further.Best regards,
MikeFebruary 21, 2024 at 9:09 am #1434968Hello Mike, thanks for the follow up. Found a way to ‘disable’ the theme and use the core wc template.
This code do the trick:
functions.php
function custom_checkout_template($template) {
// Check if it’s the checkout page of WooCommerce
if ( is_checkout() && ! is_wc_endpoint_url() ) {
// Path to your custom template file
$custom_template = locate_template( ‘checkout.php’ );// If the custom template file exists, use it; otherwise, fallback to the original template
if ( $custom_template ) {
$template = $custom_template;
}
}return $template;
}
add_filter(‘template_include’, ‘custom_checkout_template’);Then we can use in the theme checkout.php
<?php
/**
*
* @see https://docs.woocommerce.com/document/template-structure/
* @package WooCommerce\Templates
* @version 3.5.0
*/if ( ! defined( ‘ABSPATH’ ) ) {
exit;
}$checkout = WC()->checkout; // Instantiate WC_Checkout class
do_action( ‘woocommerce_before_checkout_form’, $checkout );
// If checkout registration is disabled and not logged in, the user cannot checkout.
if ( ! $checkout->is_registration_enabled() && $checkout->is_registration_required() && ! is_user_logged_in() ) {
echo esc_html( apply_filters( ‘woocommerce_checkout_must_be_logged_in_message’, __( ‘You must be logged in to checkout.’, ‘woocommerce’ ) ) );
return;
}?>
<form name=”checkout” method=”post” class=”checkout woocommerce-checkout” action=”<?php echo esc_url( wc_get_checkout_url() ); ?>” enctype=”multipart/form-data”>
<?php if ( $checkout->get_checkout_fields() ) : ?>
<?php do_action( ‘woocommerce_checkout_before_customer_details’ ); ?>
<div class=”col2-set” id=”customer_details”>
<div class=”col-1″>
<?php do_action( ‘woocommerce_checkout_billing’ ); ?>
</div><div class=”col-2″>
<?php do_action( ‘woocommerce_checkout_shipping’ ); ?>
</div>
</div><?php do_action( ‘woocommerce_checkout_after_customer_details’ ); ?>
<?php endif; ?>
<?php do_action( ‘woocommerce_checkout_before_order_review_heading’ ); ?>
<h3 id=”order_review_heading”><?php esc_html_e( ‘Your order’, ‘woocommerce’ ); ?></h3>
<?php do_action( ‘woocommerce_checkout_before_order_review’ ); ?>
<div id=”order_review” class=”woocommerce-checkout-review-order”>
<?php do_action( ‘woocommerce_checkout_order_review’ ); ?>
</div><?php do_action( ‘woocommerce_checkout_after_order_review’ ); ?>
</form>
<?php do_action( ‘woocommerce_after_checkout_form’, $checkout ); ?>
And from there, it could be customized as needed.
February 21, 2024 at 5:38 pm #1435045 -
AuthorPosts
- You must be logged in to reply to this topic.